traceback on clone --overlay

Brendan Cully brendan at kublai.com
Wed Jan 17 22:33:37 UTC 2007


On Wednesday, 17 January 2007 at 11:54, TK Soh wrote:
> On 1/17/07, Brendan Cully <brendan at kublai.com> wrote:
> >> >Usage is pretty straightforward:
> >> >
> >> >1. hg clone --overlay foo bar
> >> >2. ???
> >> >3. profit!
> >>
> >> Your overlay repo looks like a collection of queues. How do I make a
> >> working Hg out of it? Also, why not maintain a working Hg with local
> >> commits?
> >
> >Ah.
> >
> >1. hg clone crew
> >2. cd crew
> >3. hg clone http://hg.kublai.com/mercurial/patches/overlay .hg/patches
> >4. hg qpush -a
> >
> >I do also maintain a regular hg tree at
> >hg.kublai.com/mercurial/overlay, but I don't update it quite as often
> >(generally only before I request another patch review). I prefer the
> >queues because they avoid a bunch of noisy merge commits, and will
> >make for a nicer history if overlay gets applied.
> 
> Anything I missed?
> 
> % hg clone --overlay crew test1
> ** unknown exception encountered, details follow
> ** report bug details to http://www.selenic.com/mercurial/bts
> ** or mercurial at selenic.com
> ** Mercurial Distributed SCM (version 0c39cabb435f)
> Traceback (most recent call last):
>  File "/usr/local/bin/hg", line 11, in ?
>    mercurial.commands.run()
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/commands.py",
> line 2984, in run
>    sys.exit(dispatch(sys.argv[1:]))
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/commands.py",
> line 3208, in dispatch
>    return d()
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/commands.py",
> line 3169, in <lambda>
>    d = lambda: func(u, *args, **cmdoptions)
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/commands.py",
> line 408, in clone
>    overlay=opts['overlay'])
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/hg.py",
> line 202, in clone
>    dest_repo = repository(ui, dest)
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/hg.py",
> line 57, in repository
>    repo = _lookup(path).instance(ui, path, create)
>  File 
>  "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/localrepo.py",
> line 1897, in instance
>    return localrepository(ui, util.drop_scheme('file', path), create)
>  File 
>  "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/localrepo.py",
> line 110, in __init__
>    self.changelog.startrev)
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/manifest.py",
> line 42, in __init__
>    defversion, parent=parent, link=link)
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/revlog.py",
> line 396, in __init__
>    self.load()
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/revlog.py",
> line 509, in load
>    if self.parent.index[i][-4] <= self.link:
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/revlog.py",
> line 236, in __getitem__
>    ret = self.p.index[pos] or self.load(pos)
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/revlog.py",
> line 233, in load
>    self.p.loadindex(pos)
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/revlog.py",
> line 220, in loadindex
>    self.loadblock(blockstart, blocksize)
>  File "/usr/local/ASpy24/lib/python2.4/site-packages/mercurial/revlog.py",
> line 151, in loadblock
>    if self.index[i + x] == None:
> IndexError: list index out of range

No, that's somewhat baffling. The error is being raised by the
_parent_ manifest, which should just be a plain old non-partial
revlog...



More information about the Mercurial mailing list