[PATCH] qpush --move: move the right patch even with comment lines

Gilles Moris gilles.moris at free.fr
Sat Jul 31 10:53:42 CDT 2010


On Saturday 10 July 2010 09:23:07 pm Gilles Moris wrote:
> # HG changeset patch
> # User Gilles Moris <gilles.moris at free.fr>
> # Date 1278789780 -7200
> # Node ID 2e244249fb62d731996926b388b100d1b3eb4729
> # Parent  082973c411df5a50e042a69ab4101801c8ead8b4
> qpush --move: move the right patch even with comment lines
>
> 88fc876a4833 caused that we find the index of the moving patch in
> self.series but look it up in self.full_series. The difference between
> these is that full_series also contains comment lines, and we thus moved
> the wrong patch.
>
> Use back self.full_series to find the moving patch, but take care of
> striping the patch guard markers before comparing the patch name. Test
> cases have been added for comments and empty lines in self.full_series, and
> for the case of guarded patches.
>
> Original patch contributed by Mads Kiilerich <mads at kiilerich.com>
>
> diff -r 082973c411df -r 2e244249fb62 hgext/mq.py
> --- a/hgext/mq.py       Thu Feb 12 22:55:51 2009 +0100
> +++ b/hgext/mq.py       Sat Jul 10 21:23:00 2010 +0200
> @@ -1046,12 +1046,16 @@
>                  self.check_localchanges(repo)
>  
>              if move:
> -                try:
> -                    index = self.series.index(patch, start)
> -                    fullpatch = self.full_series[index]
> -                    del self.full_series[index]
> -                except ValueError:
> -                    raise util.Abort(_("patch '%s' not found") % patch)
> +                if not patch:
> +                    raise  util.Abort(_("please specify the patch to
> move")) +                for i, rpn in enumerate(self.full_series[start:]):
> +                    # strip markers for patch guards
> +                    if self.guard_re.split(rpn, 1)[0] == patch:
> +                        break
> +                index = start + i
> +                assert index < len(self.full_series)
> +                fullpatch = self.full_series[index]
> +                del self.full_series[index]
>                  self.full_series.insert(start, fullpatch)
>                  self.parse_series()
>                  self.series_dirty = 1

Looks like this one has not been pushed. Comments ?

Regards.
Gilles.


More information about the Mercurial-devel mailing list