Mercurial > public > mercurial-scm > hg
diff hgext/rebase.py @ 23517:4f18e80d9c30
rebase: show more useful status information while rebasing
Show status messages while rebasing, similar to what graft do:
rebasing 12:2647734878ef "fork" (tip)
This gives more context for the user when resolving conflicts.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Tue, 09 Dec 2014 03:45:26 +0100 |
parents | 9972758ab4c5 |
children | 2fb0504b8175 |
line wrap: on
line diff
--- a/hgext/rebase.py Sun Dec 07 20:04:45 2014 +0100 +++ b/hgext/rebase.py Tue Dec 09 03:45:26 2014 +0100 @@ -18,7 +18,7 @@ from mercurial import extensions, patch, scmutil, phases, obsolete, error from mercurial import copies from mercurial.commands import templateopts -from mercurial.node import nullrev, nullid, hex +from mercurial.node import nullrev, nullid, hex, short from mercurial.lock import release from mercurial.i18n import _ import os, errno @@ -367,9 +367,16 @@ total = len(sortedstate) pos = 0 for rev in sortedstate: + ctx = repo[rev] + desc = '%d:%s "%s"' % (ctx.rev(), ctx, + ctx.description().split('\n', 1)[0]) + names = repo.nodetags(ctx.node()) + repo.nodebookmarks(ctx.node()) + if names: + desc += ' (%s)' % ' '.join(names) pos += 1 if state[rev] == revtodo: - ui.progress(_("rebasing"), pos, ("%d:%s" % (rev, repo[rev])), + ui.status(_('rebasing %s\n') % desc) + ui.progress(_("rebasing"), pos, ("%d:%s" % (rev, ctx)), _('changesets'), total) p1, p2, base = defineparents(repo, rev, target, state, targetancestors) @@ -410,6 +417,13 @@ ui.debug('next revision set to %s\n' % p1) skipped.add(rev) state[rev] = p1 + elif state[rev] == nullmerge: + pass + elif state[rev] == revignored: + ui.status(_('not rebasing ignored %s\n') % desc) + else: + ui.status(_('already rebased %s as %s\n') % + (desc, repo[state[rev]])) ui.progress(_('rebasing'), None) ui.note(_('rebase merging completed\n'))