[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