--- a/hgext/mq.py Mon Apr 19 17:41:12 2010 +0900
+++ b/hgext/mq.py Fri Apr 30 15:05:51 2010 +0200
@@ -978,7 +978,7 @@
raise util.Abort(_("patch %s not in series") % patch)
def push(self, repo, patch=None, force=False, list=False,
- mergeq=None, all=False):
+ mergeq=None, all=False, move=False):
diffopts = self.diffopts()
wlock = repo.wlock()
try:
@@ -1034,6 +1034,15 @@
if not force:
self.check_localchanges(repo)
+ if move:
+ try:
+ del self.full_series[self.full_series.index(patch, start)]
+ except ValueError:
+ raise util.Abort(_("patch '%s' not found") % patch)
+ self.full_series.insert(start, patch)
+ self.parse_series()
+ self.series_dirty = 1
+
self.applied_dirty = 1
if start > 0:
self.check_toppatch(repo)
@@ -2222,7 +2231,7 @@
mergeq = queue(ui, repo.join(""), newpath)
ui.warn(_("merging with queue at: %s\n") % mergeq.path)
ret = q.push(repo, patch, force=opts['force'], list=opts['list'],
- mergeq=mergeq, all=opts.get('all'))
+ mergeq=mergeq, all=opts.get('all'), move=opts.get('move'))
return ret
def pop(ui, repo, patch=None, **opts):
@@ -2735,8 +2744,9 @@
('l', 'list', None, _('list patch name in commit text')),
('a', 'all', None, _('apply all patches')),
('m', 'merge', None, _('merge from another queue (DEPRECATED)')),
- ('n', 'name', '', _('merge queue name (DEPRECATED)'))],
- _('hg qpush [-f] [-l] [-a] [-m] [-n NAME] [PATCH | INDEX]')),
+ ('n', 'name', '', _('merge queue name (DEPRECATED)')),
+ ('', 'move', None, _('reorder patch series and apply only the patch'))],
+ _('hg qpush [-f] [-l] [-a] [-m] [-n NAME] [--move] [PATCH | INDEX]')),
"^qrefresh":
(refresh,
[('e', 'edit', None, _('edit commit message')),