Cannot convert subversion repository
Steve Borho
steve at borho.org
Thu Nov 15 10:07:26 CST 2007
On Thu, 2007-11-15 at 15:58 +0100, Kim Tiedemann wrote:
> 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 :-(
the subversion python bindings use Swig to do the C++ -> Python
API mapping. It looks like you need to install the swig package(s).
--
Steve Borho (steve at borho.org)
http://www.borho.org/~steve/steve.asc
Key fingerprint = 2D08 E7CF B624 624C DE1F E2E4 B0C2 5292 F2C6 2C8C
More information about the Mercurial
mailing list