Cannot convert subversion repository

Kim Tiedemann kimtiede at gmail.com
Thu Nov 15 08:58:02 CST 2007


Hi Patrick,

>
> I do not think the Windows mercurial package can use external modules like the python bindings. The bindings are not shipped under Windows because of packaging issues. That may change in the future. In the meantime, you should try building mercurial from sources which is easy if you already know how to build python extensions for your environment.
>
> Can you try the same command from Linux ?
>

Yes:

assuming destination repo1-hg
initializing destination repo1-hg repository
convert: couldn't open CVS repo file:///svn/repo1
convert: couldn't open GIT repo file:///svn/repo1
convert: subversion python bindings could not be loaded
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/hgext/convert/hg.py", line
187, in __init__
    self.repo = hg.repository(self.ui, path)
  File "/usr/lib/python2.4/site-packages/mercurial/hg.py", line 62, in
repository
    repo = _lookup(path).instance(ui, path, create)
  File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line
1989, in instance
    return localrepository(ui, util.drop_scheme('file', path), create)
  File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line
46, in __init__
    raise repo.RepoError(_("repository %s not found") % path)
RepoError: repository /svn/repo1 not found
convert: could not open hg repo file:///svn/repo1 as source
convert: couldn't open darcs repo file:///svn/repo1
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line
45, in _runcatch
    return _dispatch(ui, args)
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line
348, in _dispatch
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line
401, in _runcommand
    return checkargs()
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line
357, in checkargs
    return cmdfunc()
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line
342, in <lambda>
    d = lambda: func(ui, *args, **cmdoptions)
  File "/usr/lib/python2.4/site-packages/hgext/convert/__init__.py",
line 362, in convert
    opts.get('rev'))
  File "/usr/lib/python2.4/site-packages/hgext/convert/__init__.py",
line 41, in convertsource
    raise util.Abort('%s: unknown repository type' % path)
Abort: file:///svn/repo1: unknown repository type
abort: file:///svn/repo1: unknown repository type

So it seems that the python subversion bindings cannot be loaded. If I
try the python command:

from svn.core import SubversionException, Pool

I get the following error:

Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.4/site-packages/svn/core.py", line 19, in ?
    from libsvn.core import *
  File "/usr/lib/python2.4/site-packages/libsvn/core.py", line 4, in ?
    import _core
ImportError: /usr/lib/libsvn_swig_py-1.so.0: undefined symbol:
svn_commit_info_dup

So it seems that something is wrong with the bindings. But
unfortunately I am a Linux newbie - so I am a bit lost :-(

/Kim


More information about the Mercurial mailing list