MercurialQueues patch merging broken?

Giorgos Keramidas keramida at ceid.upatras.gr
Sun May 13 19:03:00 CDT 2007


On 2007-05-14 00:36, Patrick M?zard <pmezard at gmail.com> wrote:
> Giorgos Keramidas a ?crit :
> >With a recent crew build, I see the following when trying to rebase an
> >MQ patch queue:
> 
> [...]
> 
> >
> >This seems to have been broken recently, as I have used the same
> >sequence of steps to rebase MQ patchsets several times in the past,
> >without this sort of error :-(
> 
> I first thought I broke it with:
> <http://hg.intevation.org/mercurial/crew/rev/f700ea2b0689>
> (because the repo looks good before this point wrt mq merge)
> 
> but I did not touch the series_end() method. You might want to bisect 
> around:
> <http://hg.intevation.org/mercurial/crew/rev/0532491f7476> instead.
> 
> What happens is the status file is incorrect after qpush+merge. It might 
> be caused by the mq markers which make q.applied having elements not 
> belonging to q.series.

Using a Mercurial conversion of the FreeBSD doc tree, and a patch queue
of my own (both available at http://hg.hellug.gr/ FWIW), I used hgbisect
to find out that:

The first bad revision is:
changeset:   4418:0532491f7476
parent:      4416:bb1800a7d7e1
user:        Bryan O'Sullivan <bos at serpentine.com>
date:        Tue May 08 12:16:02 2007 -0700
summary:     MQ: tidy up if a qpush is interrupted.

The attached patches backout this change, and I've verified that after
the backout qpush+merge work as before.

I'm only using the backout locally, because I depend on MQ a lot, but
Bryan may know how to fix this without the backout, so I've Cc:'ed him
to the thread now...



More information about the Mercurial-devel mailing list