[issue3347] hg convert fails for subversion on empty head revision
Sebastian Krysmanski
bugs at mercurial.selenic.com
Mon Apr 2 07:34:32 CDT 2012
New submission from Sebastian Krysmanski <infomail at lordb.de>:
With Subversion, you can sync a remote repository, either the full
repository or only a certain sub directory of it. Syncing only a sub
directory results in empty revisions. When such an empty revision happens to
be the head revision when trying to convert a "partially synced" SVN
repository, Mercurial fails with:
abort: svn: revision 2202 not found
I ran across this while trying to convert the Proj repository from:
http://svn.osgeo.org/metacrs/proj/ (with revision 2202).
Here the repository root is actually only http://svn.osgeo.org/metacrs/, so
I was syncing a sub directory.
Here's the output of the conversion process:
$ hg convert --traceback --datesort --debug
/media/sf_VM-Share/Geometry/proj/proj-svn
/media/sf_VM-Share/Geometry/proj/proj-hg
reparent to file:///media/sf_VM-Share/Geometry/proj/proj-svn
run hg sink pre-conversion action
scanning source...
scanning: 1 revisions
fetching revision log for "" from 2202 to 0
revision 2202 has no entries
revision 2201 has no entries
revision 2200 has no entries
parsing revision 2199 (1 changes)
parsing revision 2198 (2 changes)
revision 2197 has no entries
parsing revision 2196 (4 changes)
parsing revision 2195 (1 changes)
[...]
revision 3 has no entries
revision 2 has no entries
parsing revision 1 (1 changes)
revision 0 has no entries
run hg sink post-conversion action
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py",
line 87, in _runcatch
return _dispatch(req)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py",
line 683, in _dispatch
cmdpats, cmdoptions)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py",
line 465, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py",
line 737, in _runcommand
return checkargs()
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py",
line 691, in checkargs
return cmdfunc()
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py",
line 680, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/usr/local/lib/python2.7/dist-packages/mercurial/util.py", line
456, in check
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/hgext/convert/__init__.py",
line 269, in convert
return convcmd.convert(ui, src, dest, revmapfile, **opts)
File "/usr/local/lib/python2.7/dist-packages/hgext/convert/convcmd.py",
line 469, in convert
c.convert(sortmode)
File "/usr/local/lib/python2.7/dist-packages/hgext/convert/convcmd.py",
line 365, in convert
parents = self.walktree(heads)
File "/usr/local/lib/python2.7/dist-packages/hgext/convert/convcmd.py",
line 136, in walktree
commit = self.cachecommit(n)
File "/usr/local/lib/python2.7/dist-packages/hgext/convert/convcmd.py",
line 318, in cachecommit
commit = self.source.getcommit(rev)
File
"/usr/local/lib/python2.7/dist-packages/hgext/convert/subversion.py", line
443, in getcommit
raise util.Abort(_('svn: revision %s not found') % revnum)
Abort: svn: revision 2202 not found
abort: svn: revision 2202 not found
----------
messages: 19496
nosy: manski
priority: bug
status: unread
title: hg convert fails for subversion on empty head revision
____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue3347>
____________________________________________________
More information about the Mercurial-devel
mailing list