[issue3013] svn convert doesn't handle (invalid?) revision map (shamap) entries
Søren Løvborg
bugs at mercurial.selenic.com
Fri Sep 16 06:41:26 CDT 2011
New submission from Søren Løvborg <kwi at kwi.dk>:
Using Mercurial 1.9.2+19-ec222a29bdf0 from Ubuntu "Mercurial stable
snapshots" PPA.
When converting from Svn to Hg, convert throws an exception if there's a Hg
to Hg entry in the shamap of the target repository, because it expects a
Svn revision id and gets an Hg revision id.
This could e.g. happen because of issue 3012, if one converts from Svn to
Hg to Hg, and then tries to rerun the first Svn to Hg conversion.
Traceback (most recent call last):
File "/usr/bin/hg", line 38, in <module>
mercurial.dispatch.run()
File "/usr/lib/pymodules/python2.7/mercurial/dispatch.py", line 27, in run
sys.exit(dispatch(request(sys.argv[1:])))
File "/usr/lib/pymodules/python2.7/mercurial/dispatch.py", line 64, in
dispatch
return _runcatch(req)
File "/usr/lib/pymodules/python2.7/mercurial/dispatch.py", line 87, in
_runcatch
return _dispatch(req)
File "/usr/lib/pymodules/python2.7/mercurial/dispatch.py", line 688, in
_dispatch
cmdpats, cmdoptions)
File "/usr/lib/pymodules/python2.7/mercurial/dispatch.py", line 463, in
runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/pymodules/python2.7/mercurial/dispatch.py", line 742, in
_runcommand
return checkargs()
File "/usr/lib/pymodules/python2.7/mercurial/dispatch.py", line 696, in
checkargs
return cmdfunc()
File "/usr/lib/pymodules/python2.7/mercurial/dispatch.py", line 685, in
<lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/usr/lib/pymodules/python2.7/mercurial/util.py", line 385, in check
return func(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/hgext/convert/__init__.py", line 269,
in convert
return convcmd.convert(ui, src, dest, revmapfile, **opts)
File "/usr/lib/pymodules/python2.7/hgext/convert/convcmd.py", line 445,
in convert
c.convert(sortmode)
File "/usr/lib/pymodules/python2.7/hgext/convert/convcmd.py", line 339,
in convert
self.source.setrevmap(self.map)
File "/usr/lib/pymodules/python2.7/hgext/convert/subversion.py", line
305, in setrevmap
uuid, module, revnum = revsplit(revid)
File "/usr/lib/pymodules/python2.7/hgext/convert/subversion.py", line 47,
in revsplit
url, revnum = rev.rsplit('@', 1)
ValueError: need more than 1 value to unpack
I'm not sure if such an entry should simply be ignored, or if convert just
needs more graceful error handling of unparsable revmap entries.
----------
messages: 17483
nosy: kwi
priority: bug
status: unread
title: svn convert doesn't handle (invalid?) revision map (shamap) entries
topic: 1.9, convert, svn
____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue3013>
____________________________________________________
More information about the Mercurial-devel
mailing list