问题描述
我无法在计算机上更新Mercurial仓库.当我执行更新hg up --traceback
时,出现以下错误:
I am unable to update mercurial repos on my machine. I get the following error when I do an update hg up --traceback
:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 87, in _runcatch
return _dispatch(req)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 679, in _dispatch
cmdpats, cmdoptions)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 454, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 733, in _runcommand
return checkargs()
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 687, in checkargs
return cmdfunc()
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 676, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 385, in check
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line 5131, in update
ret = hg.update(repo, rev)
File "/usr/lib/python2.7/dist-packages/mercurial/hg.py", line 395, in update
stats = mergemod.update(repo, node, False, False, None)
File "/usr/lib/python2.7/dist-packages/mercurial/merge.py", line 554, in update
stats = applyupdates(repo, action, wc, p2, pa, overwrite)
File "/usr/lib/python2.7/dist-packages/mercurial/merge.py", line 329, in applyupdates
subrepo.submerge(repo, wctx, mctx, wctx.ancestor(mctx), overwrite)
File "/usr/lib/python2.7/dist-packages/mercurial/subrepo.py", line 156, in submerge
mctx.sub(s).get(r)
File "/usr/lib/python2.7/dist-packages/mercurial/subrepo.py", line 668, in get
if self._svnversion >= (1, 5):
File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 169, in __get__
result = self.func(obj)
File "/usr/lib/python2.7/dist-packages/mercurial/subrepo.py", line 567, in _svnversion
output, err = self._svncommand(['--version'], filename=None)
File "/usr/lib/python2.7/dist-packages/mercurial/subrepo.py", line 555, in _svncommand
universal_newlines=True, env=env, **extrakw)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1239, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
abort: No such file or directory
我尝试先执行rm -rf myrepo
然后执行hg clone ssh://hg@bitbucket.org/myrepo
,但是该命令可以正确下载存储库,但是当hg尝试将存储库更新为默认分支时,我会遇到相同的错误,更确切地说,我得到了这个信息: >
I've tried to do rm -rf myrepo
and then do hg clone ssh://hg@bitbucket.org/myrepo
but that command downloads the repo correctly but I get the same error when hg tries to update the repo to branch default, more specifically I get this:
destination directory: foo
requesting all changes
adding changesets
adding manifests
adding file changes
added 6270 changesets with 20990 changes to 3682 files
updating to branch default
abort: No such file or directory
有了引用,我得到的错误与以前相似.我什至试图在系统上重新安装Mercurial,但没有任何运气.
with trackback, I get an error similar to what I was getting before. I have even tried to re-install mercurial on my system without any luck.
能否请您指出问题所在.回购头似乎还不错(我可以在其他计算机上使用clone
和update
),并且能够在系统上使用clone
或update
其他hg回购协议.这与子仓库有什么关系吗?引用说明了这一点.
Can you please point to what is the problem. The repo head seems to be alright, (I can clone
and update
on other machines), and I am able to clone
or update
other hg repos on my system. Can this have anything to do with subrepos? The trackback suggests it.
我的系统详细信息:运行Mercurial版本1.9.1的32位Ubuntu 11.10.
My system details: 32-bit Ubuntu 11.10, running mercurial version 1.9.1.
推荐答案
似乎源仓库中有一个svn子仓库,并且您没有安装subversion客户端(或者svn不在搜索路径中).
It seems that the source repo has an svn subrepo, and you have no subversion client installed (or svn is not in the search path).
这篇关于Mercurial(hg)更新错误,中止:没有这样的文件或目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!