Bug 3234 - convert crashes with empty bzr branch
Summary: convert crashes with empty bzr branch
Status: RESOLVED FIXED
Alias: None
Product: Mercurial
Classification: Unclassified
Component: Mercurial (show other bugs)
Version: unspecified
Hardware: All All
: normal bug
Assignee: Bugzilla
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-31 11:57 UTC by A. Budden
Modified: 2012-05-13 04:59 UTC (History)
3 users (show)

See Also:
Python Version: ---


Attachments
(34 bytes, text/x-diff)
2012-02-01 04:00 UTC, Patrick Mézard
Details

Note You need to log in before you can comment on or make changes to this bug.
Description A. Budden 2012-01-31 11:57 UTC
Not very serious (why would you use convert and not just "hg init"?), but
not very elegant...

To reproduce:

$ bzr init test-dir-bzr
Created a standalone tree (format: 2a)                                         
$ hg convert test-dir-bzr test-dir-hg
initializing destination test-dir-hg repository
scanning source...
** unknown exception encountered, please report by visiting
**  http://mercurial.selenic.com/wiki/BugTracker
** Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) [GCC 4.5.2]
** Mercurial Distributed SCM (version 1.9)
** Extensions loaded: color, graphlog, progress, convert, extdiff, purge,
record, fetch, schemes
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 675, in
_dispatch
    cmdpats, cmdoptions)
  File "/usr/lib/pymodules/python2.7/mercurial/dispatch.py", line 454, in
runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/pymodules/python2.7/mercurial/extensions.py", line 182, in wrap
    return wrapper(origfn, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/hgext/color.py", line 367, in colorcmd
    return orig(ui_, opts, cmd, cmdfunc)
  File "/usr/lib/pymodules/python2.7/mercurial/dispatch.py", line 729, in
_runcommand
    return checkargs()
  File "/usr/lib/pymodules/python2.7/mercurial/dispatch.py", line 683, in
checkargs
    return cmdfunc()
  File "/usr/lib/pymodules/python2.7/mercurial/dispatch.py", line 672, 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 342, in
convert
    parents = self.walktree(heads)
  File "/usr/lib/pymodules/python2.7/hgext/convert/convcmd.py", line 136, in
walktree
    commit = self.cachecommit(n)
  File "/usr/lib/pymodules/python2.7/hgext/convert/convcmd.py", line 295, in
cachecommit
    commit = self.source.getcommit(rev)
  File "/usr/lib/pymodules/python2.7/hgext/convert/bzr.py", line 135, in
getcommit
    rev = self.sourcerepo.get_revision(version)
  File "<string>", line 4, in get_revision_read_locked
  File "/usr/lib/python2.7/dist-packages/bzrlib/repofmt/knitrepo.py", line
208, in get_revision
    return self.get_revision_reconcile(revision_id)
  File "<string>", line 4, in get_revision_reconcile_read_locked
  File "/usr/lib/python2.7/dist-packages/bzrlib/repository.py", line 1933,
in get_revision_reconcile
    return self._get_revisions([revision_id])[0]
  File "<string>", line 4, in _get_revisions_read_locked
  File "/usr/lib/python2.7/dist-packages/bzrlib/repository.py", line 1950,
in _get_revisions
    raise errors.NoSuchRevision(self, revid)
bzrlib.errors.NoSuchRevision:
CHKInventoryRepository('file:///home/al/test/test-dir-bzr/.bzr/repository/')
has no revision null:
Comment 1 Patrick Mézard 2012-02-01 04:00 UTC
Fix attached, will be submitted after 2.1 code freeze.

All current fixes can be temporarily found here:

  http://mezard.eu/hg/hg-does-it-look-good-for-you
Comment 2 HG Bot 2012-02-03 16:00 UTC
Fixed by http://selenic.com/repo/hg/rev/915e06faa8f3
Patrick Mezard <pmezard@gmail.com>
convert/bzr: handle empty bzr repositories (issue3233)

(please test the fix)
Comment 3 Bugzilla 2012-05-12 09:27 UTC

--- Bug imported by bugzilla@serpentine.com 2012-05-12 09:27 EDT  ---

This bug was previously known as _bug_ 3233 at http://mercurial.selenic.com/bts/issue3233
Imported an attachment (id=1625)