cloning trunk mangles repository path

Issue #138 resolved
Sybren Stüvel
created an issue

Cloning the trunk directory mangles the stored repository root path. To reproduce run the attached script. The expected result would be "file:///path/to/server" as repository root, but the observed behaviour is "file:///path/to/server/trunk" as repository root, and "file:///path/to/server/trunk/trunk" as directory.

Comments (2)

  1. Sybren Stüvel reporter

    It seems that this bug also breaks "hg svn genignore":

    $ hg svn genignore
    Traceback (most recent call last):
      File "/usr/bin/hg", line 5, in <module>
        pkg_resources.run_script('mercurial==1.4.1', 'hg')
      File "/usr/lib/python2.5/site-packages/distribute-0.6.8-py2.5.egg/pkg_resources.py", line 452, in run_script
        self.require(requires)[0].run_script(script_name, ns)
      File "/usr/lib/python2.5/site-packages/distribute-0.6.8-py2.5.egg/pkg_resources.py", line 1179, in run_script
        execfile(script_filename, namespace, namespace)
      File "/usr/lib/python2.5/site-packages/mercurial-1.4.1-py2.5-cygwin-1.5.25-i686.egg/EGG-INFO/scripts/hg", line 27, in <module>
        mercurial.dispatch.run()
      File "/usr/lib/python2.5/site-packages/mercurial-1.4.1-py2.5-cygwin-1.5.25-i686.egg/mercurial/dispatch.py", line 16, in run
        sys.exit(dispatch(sys.argv[1:]))
      File "/usr/lib/python2.5/site-packages/mercurial-1.4.1-py2.5-cygwin-1.5.25-i686.egg/mercurial/dispatch.py", line 30, in dispatch
        return _runcatch(u, args)
      File "/usr/lib/python2.5/site-packages/mercurial-1.4.1-py2.5-cygwin-1.5.25-i686.egg/mercurial/dispatch.py", line 46, in _runcatch
        return _dispatch(ui, args)
      File "/usr/lib/python2.5/site-packages/mercurial-1.4.1-py2.5-cygwin-1.5.25-i686.egg/mercurial/dispatch.py", line 449, in _dispatch
        return runcommand(lui, repo, cmd, fullargs, ui, options, d)
      File "/usr/lib/python2.5/site-packages/mercurial-1.4.1-py2.5-cygwin-1.5.25-i686.egg/mercurial/dispatch.py", line 319, in runcommand
        ret = _runcommand(ui, options, cmd, d)
      File "/usr/lib/python2.5/site-packages/mercurial-1.4.1-py2.5-cygwin-1.5.25-i686.egg/mercurial/dispatch.py", line 500, in _runcommand
        return checkargs()
      File "/usr/lib/python2.5/site-packages/mercurial-1.4.1-py2.5-cygwin-1.5.25-i686.egg/mercurial/dispatch.py", line 454, in checkargs
        return cmdfunc()
      File "/usr/lib/python2.5/site-packages/mercurial-1.4.1-py2.5-cygwin-1.5.25-i686.egg/mercurial/dispatch.py", line 448, in <lambda>
        d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
      File "/usr/lib/python2.5/site-packages/mercurial-1.4.1-py2.5-cygwin-1.5.25-i686.egg/mercurial/util.py", line 386, in check
        return func(*args, **kwargs)
      File "c:/home/hgsubversion/hgsubversion/__init__.py", line 130, in svn
        return commandfunc(ui, args=args, hg_repo_path=path, repo=repo, **opts)
      File "c:/home/hgsubversion/hgsubversion/utility_commands.py", line 22, in genignore
        dirs = [''] + [d[0] for d in svn.list_files(branchpath, r)
      File "c:/home/hgsubversion/hgsubversion/svnwrap/svn_swig_wrapper.py", line 626, in list_files
        raise IOError('%s cannot be found at r%d' % (dirpath, revision))
    IOError: trunk cannot be found at r443
    
    
  2. Log in to comment