我无法在我的机器上更新mercurial repos。更新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
但该命令正确下载了repo但是当hg尝试将repo更新为分支默认值时,我得到了同样的错误,更具体地说,我得到了这样:
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
使用trackback,我得到的错误类似于我之前获得的错误。我甚至试图在我的系统上重新安装mercurial而没有任何运气。
你能指出问题是什么吗?回购头似乎没问题,(我可以clone
和update
在其他机器上),我可以在我的系统上clone
或update
其他hg回购。这与subrepos有什么关系吗?引用表明它。
我的系统详细信息:32位Ubuntu 11.10,运行mercurial版本1.9.1。
答案 0 :(得分:8)
源repo似乎有一个svn subrepo,你没有安装subversion客户端(或者svn不在搜索路径中)。