【发布时间】:2012-11-27 01:54:26
【问题描述】:
我想将一个 mercurial 存储库转换为 subversion(我知道,我知道),但这个 Converting from Mercurial to Subversion 的标准答案似乎对我不起作用。我已经从 collabnet 安装了 tortoiseHg 和 svn 命令行包。有什么想法或提示吗?
D:\work\horizon>hg convert --dest-type svn src horizon-svn --debug --traceback
initializing svn repository 'horizon-svn'
running: "svnadmin" "create" "D:\work\horizon\horizon-svn" < NUL:
Traceback (most recent call last):
File "mercurial\dispatch.pyo", line 87, in _runcatch
File "mercurial\dispatch.pyo", line 696, in _dispatch
File "mercurial\dispatch.pyo", line 472, in runcommand
File "mercurial\extensions.pyo", line 184, in wrap
File "hgext\color.pyo", line 362, in colorcmd
File "mercurial\dispatch.pyo", line 786, in _runcommand
File "mercurial\dispatch.pyo", line 757, in checkargs
File "mercurial\dispatch.pyo", line 693, in <lambda>
File "mercurial\util.pyo", line 463, in check
File "hgext\convert\__init__.pyo", line 269, in convert
File "hgext\convert\convcmd.pyo", line 439, in convert
File "hgext\convert\convcmd.pyo", line 70, in convertsink
File "hgext\convert\subversion.pyo", line 1027, in __init__
File "hgext\convert\common.pyo", line 322, in run0
File "hgext\convert\common.pyo", line 318, in checkexit
Abort: svnadmin exited with status 1
abort: svnadmin exited with status 1
这是版本信息:
D:\test\Horizon>hg version
Mercurial Distributed SCM (version 2.2.3)
(see http://mercurial.selenic.com for more information)
Copyright (C) 2005-2012 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
D:\test\Horizon>
当我在 Ubuntu 上尝试同样的方法时,它也会以类似的方式失败。
mike@mike-virtual-machine ~/repos $ hg convert --dest-type svn ~/Horizon ~/HorizonToSvn -v --debug --traceback > debug_convert.log
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 684, in _dispatch
cmdpats, cmdoptions)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 466, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 738, in _runcommand
return checkargs()
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 692, in checkargs
return cmdfunc()
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 681, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 458, in check
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/hgext/convert/__init__.py", line 269, in convert
return convcmd.convert(ui, src, dest, revmapfile, **opts)
File "/usr/lib/python2.7/dist-packages/hgext/convert/convcmd.py", line 445, in convert
c.convert(sortmode)
File "/usr/lib/python2.7/dist-packages/hgext/convert/convcmd.py", line 361, in convert
self.copy(c)
File "/usr/lib/python2.7/dist-packages/hgext/convert/convcmd.py", line 330, in copy
source, self.map)
File "/usr/lib/python2.7/dist-packages/hgext/convert/subversion.py", line 1144, in putcommit
entries.update(self.add_dirs(files.difference(entries)))
File "/usr/lib/python2.7/dist-packages/hgext/convert/subversion.py", line 1101, in add_dirs
self.xargs(add_dirs, 'add', non_recursive=True, quiet=True)
File "/usr/lib/python2.7/dist-packages/hgext/convert/common.py", line 366, in xargs
self.run0(cmd, *(list(args) + l), **kwargs)
File "/usr/lib/python2.7/dist-packages/hgext/convert/common.py", line 317, in run0
self.checkexit(status, output)
File "/usr/lib/python2.7/dist-packages/hgext/convert/common.py", line 313, in checkexit
raise util.Abort('%s %s' % (self.command, msg))
Abort: svn exited with status 32512
abort: svn exited with status 32512
mike@mike-virtual-machine ~/repos $
【问题讨论】:
-
hg version请检查一下hg glog -
您可以尝试在 Ubuntu 虚拟机中进行转换,也许它可以在那里工作。此外,您应该在 Mercurial 错误跟踪系统中提交错误报告,因为这在我看来像是一个错误。 (显然不是一个经常测试的代码区域。)
-
实际上我在 ubuntu mike@mike-virtual-machine ~ $ uname -a Linux mike-virtual-machine 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20 上看到了同样的错误:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux mike@mike-virtual-machine ~ $ hg 版本 Mercurial 分布式 SCM(版本 2.0.2)(有关更多信息,请参阅 mercurial.selenic.com)版权所有 (C) 2005-2011 Matt Mackall和其他 这是免费软件;查看复制条件的来源。没有保修;甚至不考虑适销性或特定用途的适用性。 mike@mike-virtual-machine ~ $
标签: svn mercurial mercurial-extension