【问题标题】:How to remove hg lock in a git-hg repository?如何删除 git-hg 存储库中的 hg 锁?
【发布时间】:2015-11-23 05:38:00
【问题描述】:

当我为存储库运行git pull origin masterhg::http://hg.openjdk.java.net/jdk8u/jdk8u/corba/(设置为远程origin)挂在

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'

使用 Ctrl+C 中断显示以下跟踪

^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

hg 存储库中,这可以通过Mercurial stuck "waiting for lock" 中的解决方案解决,但在git-hg 中(没有.hg 目录)?

【问题讨论】:

    标签: git mercurial locking


    【解决方案1】:

    尝试通过运行以下命令找到您的目录 -

    find / -name ".hg/store/" -> / 将开始从根文件夹查找您的目录。以root用户身份运行命令,访问所有文件夹。

    那就关注mercurial-stuck-waiting-for-lock的帖子

    【讨论】:

    • 有效。似乎可以访问.git/hg/.hg/ 中的hg 存储库。在/ 下搜索没有意义,但在源根目录下搜索就足够了。
    • @KarlRichter 我也知道/ 下的搜索没有意义。为了您的帮助,您不要错过该文件夹。从您的帖子看来,如果您以图形方式无法找到,您似乎忘记了如何通过命令行进行搜索。毕竟你需要使用root的访问权限,如果可行,则接受答案。
    • 我只是没想到可能会有.hg 目录。如果改进,我会接受答案。您可以重复使用我第一条评论中的信息。
    • @KarlRichter 这就是 SO 的原因。你想不到的,其他人可以思考,互相帮助,扩展思路。
    • / 中搜索与我的问题无关并且对其他人没有帮助,因为在源根目录中运行find 总是比在/ 中带来更好的结果。
    【解决方案2】:

    .hg 存储库(通常位于源/签出根目录下)可在 .git/hg/.hg/ 获得。可以在Mercurial stuck "waiting for lock" 之后从那里移除锁。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2015-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多