Mercurial > public > mercurial-scm > hg-stable
diff hgext/rebase.py @ 14497:ea585f2b1adc stable
rebase: restore mq guards after rebasing (issue2107)
Guards on rebased mq patches were lost.
This patch restores them after the qimporting step.
author | Stefano Tortarolo <stefano.tortarolo@gmail.com> |
---|---|
date | Sat, 26 Mar 2011 13:05:17 +0100 |
parents | 14c0988c314d |
children | 4f695345979c |
line wrap: on
line diff
--- a/hgext/rebase.py Wed Mar 16 23:09:14 2011 +0100 +++ b/hgext/rebase.py Sat Mar 26 13:05:17 2011 +0100 @@ -354,6 +354,8 @@ 'Update rebased mq patches - finalize and then import them' mqrebase = {} mq = repo.mq + original_series = mq.full_series[:] + for p in mq.applied: rev = repo[p.node].rev() if rev in state: @@ -371,6 +373,15 @@ repo.ui.debug('import mq patch %d (%s)\n' % (state[rev], name)) mq.qimport(repo, (), patchname=name, git=isgit, rev=[str(state[rev])]) + + # Restore missing guards + for s in original_series: + pname = mq.guard_re.split(s, 1)[0] + if pname in mq.full_series: + repo.ui.debug('restoring guard for patch %s' % (pname)) + mq.full_series.remove(pname) + mq.full_series.append(s) + mq.series_dirty = True mq.save_dirty() def storestatus(repo, originalwd, target, state, collapse, keep, keepbranches,