Kalle Richter
Kalle Richter

Reputation: 8758

How to remove hg lock in a git-hg repository?

When I run git pull origin master for the repository hg::http://hg.openjdk.java.net/jdk8u/jdk8u/corba/ (set as remote origin) hangs at

waiting for lock on repository /mnt/main/sources/jdk8u-jdk8u/.git/modules/corba/hg/origin/clone held by 'richter-Lenovo-IdeaPad-Z500-Touch\xef\x80\xa217970'

Interrupting with Ctrl+C displays the following trace

^CTraceback (most recent call last):
  File "/usr/bin/git-remote-hg", line 1322, in <module>

    sys.exit(main(sys.argv))
  File "/usr/bin/git-remote-hg", line 1286, in main
richter@richtercloud:/mnt/main/sources/jdk8u-jdk8u/corba$     repo = get_repo(url, alias)
  File "/usr/bin/git-remote-hg", line 433, in get_repo
    repo.pull(peer, heads=None, force=True)
  File "/usr/lib/python2.7/dist-packages/mercurial/localrepo.py", line 1578, in pull
    return exchange.pull (self, remote, heads, force)
  File "/usr/lib/python2.7/dist-packages/mercurial/exchange.py", line 559, in pull
    lock = pullop.repo.lock()
  File "/usr/lib/python2.7/dist-packages/mercurial/localrepo.py", line 1098, in lock
    self.invalidate, _('repository %s') % self.origroot)
  File "/usr/lib/python2.7/dist-packages/mercurial/localrepo.py", line 1064, in _lock
    releasefn, desc=desc)
  File "/usr/lib/python2.7/dist-packages/mercurial/lock.py", line 41, in __init__
    self.delay = self.lock()
  File "/usr/lib/python2.7/dist-packages/mercurial/lock.py", line 63, in lock
    time.sleep(1)
KeyboardInterrupt

In a hg repository this can be resolved with solutions in Mercurial stuck "waiting for lock", but in git-hg (doesn't have a .hg directory)?

Upvotes: 0

Views: 1601

Answers (2)

Kalle Richter
Kalle Richter

Reputation: 8758

The .hg repository (normally under the source/checkout root) is available at .git/hg/.hg/. The lock can be removed from there following Mercurial stuck "waiting for lock".

Upvotes: 0

royki
royki

Reputation: 1683

Try to find your directory by running the following command -

find / -name ".hg/store/" -> / will start looking your directory from root folder. Run the command as root user to access all the folder.

Then follow the post mercurial-stuck-waiting-for-lock

Upvotes: 1

Related Questions