Stripping hidden changesets breaks "hg outgoing"
Aurélien Campéas
aurelien.campeas at logilab.fr
Tue Feb 5 11:27:32 CST 2013
Le 05/02/2013 17:09, Greg Ward a écrit :
> Ouch. So I could get back to work with minimal fuss, I tried editing
> .hg/store/phaseroots to remove the stripped changeset that "hg out"
> was complaining about. Then, because I'm an idiot (or something), I
> tried stripping *just one more* hidden changeset:
>
> $ hg strip 316
> saved backup bundle to /home/greg/src/fubsy/.hg/strip-backup/ce0a27dd3d06-backup.hg
> ** Unknown exception encountered with possibly-broken third-party extension evolve
> ** which supports versions unknown of Mercurial.
> ** Please disable evolve and try your action again.
> ** If that fixes the bug please report it to https://bitbucket.org/marmoute/mutable-history/issues
> ** Python 2.7.3 (default, Sep 26 2012, 21:51:14) [GCC 4.7.2]
> ** Mercurial Distributed SCM (version 2.5+2-151f78a07607)
> ** Extensions loaded: mq, patchbomb, record, purge, share, extdiff, progress, color, rebase, evolve
> Traceback (most recent call last):
> File "/home/greg/bin/hg", line 38, in<module>
> mercurial.dispatch.run()
[...]
> File "/home/greg/src/hg-stable/mercurial/ancestor.py", line 230, in __iter__
> for parent in parentrevs(visit.popleft()):
> File "/home/greg/src/hg-stable/mercurial/changelog.py", line 204, in parentrevs
> raise IndexError(rev)
> IndexError: 445
>
> Disabling evolve avoided that problem.
>
> Moral of the story: if you want to go hunting for bugs in Mercurial
> and/or evolve, try stripping hidden changesets. If you just want to
> get work done, don't!
>
> I've saved a tarball of the hosed repo + working dir (open source, 80
> MB) if anyone is interested. I've recloned from my public repo to
> clean up hidden changesets the "safe" way.
>
> Greg
That looks like a bad (and possibly recent) regression anyway.
Sometimes I "garbage collect" some repos full of obsolete changesets
(with something like 'hg strip "obsolete()"') and it does not crash and
burn like this.
(Could the recent branchmap cache patches have introduced some pbs. wrt
stripping ?)
More information about the Mercurial-devel
mailing list