# .../.ipfs/repo.lock: someone else has the lock

**URL:** <https://discuss.ipfs.tech/t/ipfs-repo-lock-someone-else-has-the-lock/13350>\
**Category:** Help\
**Tags:** go-ipfs\
**Created:** [February 2, 2022, 1:40am UTC](https://discuss.ipfs.tech/t/ipfs-repo-lock-someone-else-has-the-lock/13350 "2022-02-02T01:40:01Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![mrodriguez3313](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/mrodriguez3313/32/5759_2.png) [@mrodriguez3313](https://discuss.ipfs.tech/u/mrodriguez3313)\
**Post date:** [February 2, 2022, 8:55pm UTC](https://discuss.ipfs.tech/t/ipfs-repo-lock-someone-else-has-the-lock/13350/3 "2022-02-02T20:55:58Z")

</div>

Yeah, there were just problems I was having with what seemed an easy and proper workflow. I was following this simple [example](https://github.com/ipfs/go-ipns#usage) on their docs for publishing IPNS records. Ultimately, to publish the entry to ipfs I actually don’t even need to do this stuff because, the IPFS API Publish method that is used, doesn’t accept an ipns entry object. So I fixed my problem just using the api commands like this, roughly:

```auto
// Go
const KeyName = "temp"
sh := shell.NewShell(localhost)

key, err := sh.KeyGen(context.Background(), KeyName) //generate temp key to local node
if err != nil {
	panic(err)
}

	publishToIPNS(ipfsPath, key.Name) // publish ipfsPath to ipfs under temp key
 
	err = deleteKey(key.Name) // delete temp key
	if err != nil {
		panic(err)
	}

```

---

_[View the full topic](https://discuss.ipfs.tech/t/ipfs-repo-lock-someone-else-has-the-lock/13350)._
