changeset 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 328afbad6e57
children 2fb0504b8175
files hgext/rebase.py tests/test-bookmarks-rebase.t tests/test-histedit-obsolete.t tests/test-largefiles-update.t tests/test-largefiles.t tests/test-rebase-abort.t tests/test-rebase-bookmarks.t tests/test-rebase-cache.t tests/test-rebase-check-restore.t tests/test-rebase-collapse.t tests/test-rebase-conflicts.t tests/test-rebase-detach.t tests/test-rebase-interruptions.t tests/test-rebase-issue-noparam-single-rev.t tests/test-rebase-mq-skip.t tests/test-rebase-mq.t tests/test-rebase-named-branches.t tests/test-rebase-newancestor.t tests/test-rebase-obsolete.t tests/test-rebase-parameters.t tests/test-rebase-pull.t tests/test-rebase-rename.t tests/test-rebase-scenario-global.t tests/test-shelve.t
diffstat 24 files changed, 310 insertions(+), 2 deletions(-) [+]
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'))
--- a/tests/test-bookmarks-rebase.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-bookmarks-rebase.t	Tue Dec 09 03:45:26 2014 +0100
@@ -37,6 +37,7 @@
 rebase
 
   $ hg rebase -s two -d one
+  rebasing 3:2ae46b1d99a7 "3" (tip two)
   saved backup bundle to $TESTTMP/.hg/strip-backup/2ae46b1d99a7-backup.hg (glob)
 
   $ hg log
--- a/tests/test-histedit-obsolete.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-histedit-obsolete.t	Tue Dec 09 03:45:26 2014 +0100
@@ -146,6 +146,7 @@
 stabilise
 
   $ hg rebase  -r 'unstable()' -d .
+  rebasing 9:c13eb81022ca "f"
   $ hg up tip -q
 
 Test dropping of changeset on the top of the stack
--- a/tests/test-largefiles-update.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-largefiles-update.t	Tue Dec 09 03:45:26 2014 +0100
@@ -207,6 +207,8 @@
   $ hg commit -m '#4'
 
   $ hg rebase -s 1 -d 2 --keep
+  rebasing 1:72518492caa6 "#1"
+  rebasing 4:07d6153b5c04 "#4" (tip)
 #if windows
   $ hg status -A large1
   large1: * (glob)
@@ -495,6 +497,7 @@
   $ hg rebase -s 1 -d 3 --keep --config ui.interactive=True <<EOF
   > o
   > EOF
+  rebasing 1:72518492caa6 "#1"
   largefile large1 has a merge conflict
   ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
   keep (l)ocal e5bb990443d6a92aaf7223813720f7566c9dd05b or
@@ -518,6 +521,8 @@
   $ hg rebase --continue --config ui.interactive=True <<EOF
   > c
   > EOF
+  rebasing 1:72518492caa6 "#1"
+  rebasing 4:07d6153b5c04 "#4"
   local changed .hglf/large1 which remote deleted
   use (c)hanged version or (d)elete? c
 
--- a/tests/test-largefiles.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-largefiles.t	Tue Dec 09 03:45:26 2014 +0100
@@ -1173,6 +1173,7 @@
   adding file changes
   added 1 changesets with 2 changes to 2 files (+1 heads)
   0 largefiles cached
+  rebasing 8:f574fb32bb45 "modify normal file largefile in repo d"
   Invoking status precommit hook
   M sub/normal4
   M sub2/large6
@@ -1230,6 +1231,7 @@
   added 1 changesets with 2 changes to 2 files (+1 heads)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg rebase
+  rebasing 8:f574fb32bb45 "modify normal file largefile in repo d"
   Invoking status precommit hook
   M sub/normal4
   M sub2/large6
--- a/tests/test-rebase-abort.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-abort.t	Tue Dec 09 03:45:26 2014 +0100
@@ -61,6 +61,8 @@
 Conflicting rebase:
 
   $ hg rebase -s 3 -d 2
+  rebasing 3:3163e20567cc "L1"
+  rebasing 4:46f0b057b5c0 "L2" (tip)
   merging common
   warning: conflicts during merge.
   merging common incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -89,6 +91,8 @@
 earlier than 2.7 by renaming ".hg/rebasestate" temporarily.
 
   $ hg rebase -s 3 -d 2
+  rebasing 3:3163e20567cc "L1"
+  rebasing 4:46f0b057b5c0 "L2" (tip)
   merging common
   warning: conflicts during merge.
   merging common incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -157,6 +161,8 @@
   o  0:public 'A'
   
   $ hg rebase -b 4 -d 2
+  rebasing 3:a6484957d6b9 "B bis"
+  rebasing 4:145842775fec "C1" (tip)
   merging c
   warning: conflicts during merge.
   merging c incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -216,6 +222,7 @@
   
 
   $ hg rebase -d master -r foo
+  rebasing 3:6c0f977a22d8 "C" (tip foo)
   merging c
   warning: conflicts during merge.
   merging c incomplete! (edit conflicts, then use 'hg resolve --mark')
--- a/tests/test-rebase-bookmarks.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-bookmarks.t	Tue Dec 09 03:45:26 2014 +0100
@@ -74,6 +74,7 @@
   o  0: 'A' bookmarks: Y@diverge
   
   $ hg rebase -s Y -d 3
+  rebasing 2:49cb3485fa0c "C" (Y Z)
   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/49cb3485fa0c-backup.hg (glob)
 
   $ hg tglog
@@ -95,6 +96,7 @@
   $ hg book W@diverge
 
   $ hg rebase -s W -d .
+  rebasing 3:41acb9dca9eb "D" (tip W)
   saved backup bundle to $TESTTMP/a4/.hg/strip-backup/41acb9dca9eb-backup.hg (glob)
 
   $ hg bookmarks
@@ -112,6 +114,8 @@
   $ hg up -q Z
 
   $ hg rebase -s 1 -d 3
+  rebasing 1:6c81ed0049f8 "B" (X)
+  rebasing 2:49cb3485fa0c "C" (Y Z)
   saved backup bundle to $TESTTMP/a2/.hg/strip-backup/6c81ed0049f8-backup.hg (glob)
 
   $ hg tglog
@@ -133,6 +137,8 @@
   $ hg up -q X
 
   $ hg rebase -d W
+  rebasing 1:6c81ed0049f8 "B" (X)
+  rebasing 2:49cb3485fa0c "C" (Y Z)
   saved backup bundle to $TESTTMP/a3/.hg/strip-backup/6c81ed0049f8-backup.hg (glob)
 
   $ hg tglog
@@ -162,6 +168,7 @@
   $ hg up 3
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg rebase
+  rebasing 3:3d5fa227f4b5 "C" (Y Z)
   merging c
   warning: conflicts during merge.
   merging c incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -171,6 +178,7 @@
   $ hg resolve --mark c
   (no more unresolved files)
   $ hg rebase --continue
+  rebasing 3:3d5fa227f4b5 "C" (Y Z)
   saved backup bundle to $TESTTMP/a3/.hg/strip-backup/3d5fa227f4b5-backup.hg (glob)
   $ hg tglog
   @  4: 'C' bookmarks: Y Z
@@ -198,4 +206,7 @@
   $ hg book bisect
   $ hg update -q Y
   $ hg rebase -r '"bisect"^^::"bisect"^' -r bisect -d Z
+  rebasing 5:345c90f326a4 "bisect"
+  rebasing 6:f677a2907404 "bisect2"
+  rebasing 7:325c16001345 "bisect3" (tip bisect)
   saved backup bundle to $TESTTMP/a3/.hg/strip-backup/345c90f326a4-backup.hg (glob)
--- a/tests/test-rebase-cache.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-cache.t	Tue Dec 09 03:45:26 2014 +0100
@@ -105,6 +105,8 @@
   0: 'A' 
 
   $ hg rebase -s 5 -d 8
+  rebasing 5:635859577d0b "D"
+  rebasing 6:5097051d331d "E"
   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/635859577d0b-backup.hg (glob)
 
   $ hg branches
@@ -166,6 +168,7 @@
   o  0: 'A'
   
   $ hg rebase -s 8 -d 6
+  rebasing 8:4666b71e8e32 "F" (tip)
   saved backup bundle to $TESTTMP/a2/.hg/strip-backup/4666b71e8e32-backup.hg (glob)
 
   $ hg branches
@@ -230,6 +233,8 @@
   o  0: 'A'
   
   $ hg rebase -s 7 -d 6
+  rebasing 7:653b9feb4616 "branch3"
+  rebasing 8:4666b71e8e32 "F" (tip)
   saved backup bundle to $TESTTMP/a3/.hg/strip-backup/653b9feb4616-backup.hg (glob)
 
   $ hg branches
@@ -475,6 +480,8 @@
   > true
   > EOF
   $ HGEDITOR="sh $TESTTMP/checkeditform.sh" hg rebase --dest 7 --source 5 -e
+  rebasing 5:361a99976cc9 "F"
   HGEDITFORM=rebase.merge
+  rebasing 8:326cfedc031c "I" (tip)
   HGEDITFORM=rebase.normal
   saved backup bundle to $TESTTMP/a3/c4/.hg/strip-backup/361a99976cc9-backup.hg (glob)
--- a/tests/test-rebase-check-restore.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-check-restore.t	Tue Dec 09 03:45:26 2014 +0100
@@ -65,6 +65,8 @@
   o  0:draft 'A'
   
   $ hg rebase -s 1 -d 4 --keep
+  rebasing 1:27547f69f254 "B"
+  rebasing 2:965c486023db "C"
   merging A
   warning: conflicts during merge.
   merging A incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -78,6 +80,8 @@
   $ hg resolve -m A
   (no more unresolved files)
   $ hg rebase --continue
+  already rebased 1:27547f69f254 "B" as 45396c49d53b
+  rebasing 2:965c486023db "C"
 
   $ hg tglog
   o  7:secret 'C'
@@ -119,6 +123,7 @@
   o  0:draft 'A'
   
   $ hg rebase -s 5 -d 4 --keepbranches
+  rebasing 5:01e6ebbd8272 "F" (tip)
   merging A
   warning: conflicts during merge.
   merging A incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -132,6 +137,7 @@
   $ hg resolve -m A
   (no more unresolved files)
   $ hg rebase --continue
+  rebasing 5:01e6ebbd8272 "F" (tip)
   saved backup bundle to $TESTTMP/a2/.hg/strip-backup/01e6ebbd8272-backup.hg (glob)
 
   $ hg tglog
--- a/tests/test-rebase-collapse.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-collapse.t	Tue Dec 09 03:45:26 2014 +0100
@@ -59,6 +59,9 @@
   > echo "edited manually" >> \$1
   > EOF
   $ HGEDITOR="sh $TESTTMP/editor.sh" hg rebase --collapse --keepbranches -e
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   ==== before editing
   Collapsed revision
   * B
@@ -113,6 +116,8 @@
 
   $ hg phase --force --secret 6
   $ hg rebase --source 4 --collapse
+  rebasing 4:9520eea781bc "E"
+  rebasing 6:eea13746799a "G"
   saved backup bundle to $TESTTMP/a2/.hg/strip-backup/9520eea781bc-backup.hg (glob)
 
   $ hg tglog
@@ -153,6 +158,8 @@
   > true
   > EOF
   $ HGEDITOR="sh $TESTTMP/checkeditform.sh" hg rebase --source 4 --collapse -m 'custom message' -e
+  rebasing 4:9520eea781bc "E"
+  rebasing 6:eea13746799a "G"
   HGEDITFORM=rebase.collapse
   saved backup bundle to $TESTTMP/a3/.hg/strip-backup/9520eea781bc-backup.hg (glob)
 
@@ -261,6 +268,9 @@
 Rebase and collapse - E onto H:
 
   $ hg rebase -s 4 --collapse # root (4) is not a merge
+  rebasing 4:8a5212ebc852 "E"
+  rebasing 5:7f219660301f "F"
+  rebasing 6:c772a8b2dc17 "G"
   saved backup bundle to $TESTTMP/b1/.hg/strip-backup/8a5212ebc852-backup.hg (glob)
 
   $ hg tglog
@@ -409,7 +419,11 @@
   $ cd c1
 
   $ hg rebase -s 4 --collapse # root (4) is not a merge
+  rebasing 4:8a5212ebc852 "E"
+  rebasing 5:dca5924bb570 "F"
   merging E
+  rebasing 6:55a44ad28289 "G"
+  rebasing 7:417d3b648079 "H"
   saved backup bundle to $TESTTMP/c1/.hg/strip-backup/8a5212ebc852-backup.hg (glob)
 
   $ hg tglog
@@ -499,6 +513,10 @@
   $ cd d1
 
   $ hg rebase -s 1 --collapse
+  rebasing 1:27547f69f254 "B"
+  rebasing 2:f838bfaca5c7 "C"
+  rebasing 3:7bbcd6078bcc "D"
+  rebasing 4:0a42590ed746 "E"
   saved backup bundle to $TESTTMP/d1/.hg/strip-backup/27547f69f254-backup.hg (glob)
 
   $ hg tglog
@@ -583,6 +601,7 @@
   o  0: 'A'
   
   $ hg rebase -s 5 -d 4
+  rebasing 5:fbfb97b1089a "E" (tip)
   saved backup bundle to $TESTTMP/e/.hg/strip-backup/fbfb97b1089a-backup.hg (glob)
   $ hg tglog
   @  4: 'E'
@@ -634,9 +653,11 @@
   o  0: 'add'
   
   $ hg rebase --collapse -d 1
+  rebasing 2:6e7340ee38c0 "move1"
   merging a and d to d
   merging b and e to e
   merging c and f to f
+  rebasing 3:338e84e2e558 "move2" (tip)
   merging f and c to c
   merging e and g to g
   saved backup bundle to $TESTTMP/copies/.hg/strip-backup/6e7340ee38c0-backup.hg (glob)
@@ -678,6 +699,8 @@
 Test collapsing in place
 
   $ hg rebase --collapse -b . -d 0
+  rebasing 1:1352765a01d4 "change"
+  rebasing 2:64b456429f67 "Collapsed revision" (tip)
   saved backup bundle to $TESTTMP/copies/.hg/strip-backup/1352765a01d4-backup.hg (glob)
   $ hg st --change tip --copies
   M a
@@ -768,6 +791,8 @@
   adding b
   $ hg book foo
   $ hg rebase -d 0 -r "1::2" --collapse -m collapsed
+  rebasing 1:6d8d9f24eec3 "a"
+  rebasing 2:1cc73eca5ecc "b" (tip foo)
   saved backup bundle to $TESTTMP/collapseaddremove/.hg/strip-backup/6d8d9f24eec3-backup.hg (glob)
   $ hg log -G --template "{rev}: '{desc}' {bookmarks}"
   @  1: 'collapsed' foo
--- a/tests/test-rebase-conflicts.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-conflicts.t	Tue Dec 09 03:45:26 2014 +0100
@@ -61,6 +61,8 @@
 Conflicting rebase:
 
   $ hg rebase -s 3 -d 2
+  rebasing 3:3163e20567cc "L1"
+  rebasing 4:46f0b057b5c0 "L2"
   merging common
   warning: conflicts during merge.
   merging common incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -70,6 +72,8 @@
 Try to continue without solving the conflict:
 
   $ hg rebase --continue
+  already rebased 3:3163e20567cc "L1" as 3e046f2ecedb
+  rebasing 4:46f0b057b5c0 "L2"
   abort: unresolved merge conflicts (see hg help resolve)
   [255]
 
@@ -79,6 +83,9 @@
   $ hg resolve -m common
   (no more unresolved files)
   $ hg rebase --continue
+  already rebased 3:3163e20567cc "L1" as 3e046f2ecedb
+  rebasing 4:46f0b057b5c0 "L2"
+  rebasing 5:8029388f38dc "L3" (mybook)
   saved backup bundle to $TESTTMP/a/.hg/strip-backup/3163e20567cc-backup.hg (glob)
 
   $ hg tglog
@@ -212,6 +219,7 @@
   
   $ hg rebase -s9 -d2 --debug # use debug to really check merge base used
   rebase onto 2 starting from e31216eec445
+  rebasing 9:e31216eec445 "more changes to f1"
   rebasing: 9:e31216eec445 5/6 changesets (83.33%)
    future parents are 2 and -1
   rebase status stored
@@ -235,6 +243,7 @@
   getting f1.txt
   updating: f1.txt 1/1 files (100.00%)
   f1.txt
+  rebasing 10:2f2496ddf49d "merge" (tip)
   rebasing: 10:2f2496ddf49d 6/6 changesets (100.00%)
    future parents are 11 and 7
   rebase status stored
--- a/tests/test-rebase-detach.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-detach.t	Tue Dec 09 03:45:26 2014 +0100
@@ -48,6 +48,7 @@
   
   $ hg phase --force --secret 3
   $ hg rebase -s 3 -d 7
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/32af7686d403-backup.hg (glob)
 
   $ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
@@ -99,6 +100,8 @@
   o  0: 'A'
   
   $ hg rebase -s 2 -d 7
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a2/.hg/strip-backup/5fddd98957c8-backup.hg (glob)
 
   $ hg tglog
@@ -151,6 +154,9 @@
   o  0: 'A'
   
   $ hg rebase -s 1 -d 7
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a3/.hg/strip-backup/42ccdea3bb16-backup.hg (glob)
 
   $ hg tglog
@@ -205,6 +211,8 @@
   o  0: 'A'
   
   $ hg rebase --collapse -s 2 -d 7
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a4/.hg/strip-backup/5fddd98957c8-backup.hg (glob)
 
   $ hg  log -G --template "{rev}:{phase} '{desc}' {branches}\n"
@@ -264,6 +272,9 @@
   o  0: 'A'
   
   $ hg rebase -s 1 -d tip
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a5/.hg/strip-backup/42ccdea3bb16-backup.hg (glob)
 
   $ hg tglog
@@ -287,6 +298,8 @@
   
 
   $ hg rebase -d 5 -s 7
+  rebasing 7:13547172c9c0 "C"
+  rebasing 8:4e27a76c371a "D" (tip)
   saved backup bundle to $TESTTMP/a5/.hg/strip-backup/13547172c9c0-backup.hg (glob)
   $ hg tglog
   o  8: 'D'
@@ -325,6 +338,9 @@
   $ hg ci -m "J"
 
   $ hg rebase -s 8 -d 7 --collapse --config ui.merge=internal:other
+  rebasing 8:9790e768172d "I"
+  rebasing 9:5d7b11f5fb97 "Merge"
+  rebasing 10:9427d4d5af81 "J" (tip)
   saved backup bundle to $TESTTMP/a6/.hg/strip-backup/9790e768172d-backup.hg (glob)
 
   $ hg tglog
@@ -368,6 +384,7 @@
   adding H
   $ hg phase --force --secret 8
   $ hg rebase -s 8 -d 7 --config ui.merge=internal:fail
+  rebasing 8:6215fafa5447 "H2" (tip)
   merging H
   warning: conflicts during merge.
   merging H incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -376,6 +393,7 @@
   $ hg resolve --all -t internal:local
   (no more unresolved files)
   $ hg rebase -c
+  rebasing 8:6215fafa5447 "H2" (tip)
   saved backup bundle to $TESTTMP/a7/.hg/strip-backup/6215fafa5447-backup.hg (glob)
   $ hg  log -G --template "{rev}:{phase} '{desc}' {branches}\n"
   @  7:draft 'H'
--- a/tests/test-rebase-interruptions.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-interruptions.t	Tue Dec 09 03:45:26 2014 +0100
@@ -57,6 +57,8 @@
 Rebasing B onto E:
 
   $ hg rebase -s 1 -d 4
+  rebasing 1:27547f69f254 "B"
+  rebasing 2:965c486023db "C"
   merging A
   warning: conflicts during merge.
   merging A incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -93,6 +95,8 @@
 Resume the rebasing:
 
   $ hg rebase --continue
+  already rebased 1:27547f69f254 "B" as 45396c49d53b
+  rebasing 2:965c486023db "C"
   merging A
   warning: conflicts during merge.
   merging A incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -107,6 +111,8 @@
   (no more unresolved files)
 
   $ hg rebase --continue
+  already rebased 1:27547f69f254 "B" as 45396c49d53b
+  rebasing 2:965c486023db "C"
   warning: new changesets detected on source branch, not stripping
 
   $ hg tglogp
@@ -148,6 +154,8 @@
 Rebasing B onto E:
 
   $ hg rebase -s 1 -d 4
+  rebasing 1:27547f69f254 "B"
+  rebasing 2:965c486023db "C"
   merging A
   warning: conflicts during merge.
   merging A incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -219,6 +227,8 @@
 Rebasing B onto E:
 
   $ hg rebase -s 1 -d 4
+  rebasing 1:27547f69f254 "B"
+  rebasing 2:965c486023db "C"
   merging A
   warning: conflicts during merge.
   merging A incomplete! (edit conflicts, then use 'hg resolve --mark')
--- a/tests/test-rebase-issue-noparam-single-rev.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-issue-noparam-single-rev.t	Tue Dec 09 03:45:26 2014 +0100
@@ -52,6 +52,7 @@
   $ hg up -q -C 2
 
   $ hg rebase
+  rebasing 2:87c180a611f2 "l1"
   saved backup bundle to $TESTTMP/a/.hg/strip-backup/87c180a611f2-backup.hg (glob)
 
   $ hg tglog
@@ -110,6 +111,8 @@
   $ hg up -q -C 3
 
   $ hg rebase
+  rebasing 2:87c180a611f2 "l1"
+  rebasing 3:1ac923b736ef "l2"
   saved backup bundle to $TESTTMP/b/.hg/strip-backup/87c180a611f2-backup.hg (glob)
 
   $ hg tglog
--- a/tests/test-rebase-mq-skip.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-mq-skip.t	Tue Dec 09 03:45:26 2014 +0100
@@ -50,6 +50,8 @@
   $ hg up -q -C qtip
 
   $ hg rebase
+  rebasing 2:13a46ce44f60 "P0" (p0.patch qbase)
+  rebasing 3:148775c71080 "P1" (p1.patch qtip)
   saved backup bundle to $TESTTMP/a/.hg/strip-backup/13a46ce44f60-backup.hg (glob)
 
   $ hg tglog
@@ -107,6 +109,10 @@
   $ hg up -q qtip
 
   $ HGMERGE=internal:fail hg rebase
+  rebasing 1:b4bffa6e4776 "r1" (1.diff qbase)
+  rebasing 2:c0fd129beb01 "r2" (2.diff)
+  rebasing 3:6ff5b8feed8e "r3" (3.diff)
+  rebasing 4:094320fec554 "r4" (4.diff)
   unresolved conflicts (see hg resolve, then hg rebase --continue)
   [1]
 
@@ -114,6 +120,12 @@
   (no more unresolved files)
 
   $ hg rebase --continue
+  already rebased 1:b4bffa6e4776 "r1" (1.diff qbase) as 057f55ff8f44
+  already rebased 2:c0fd129beb01 "r2" (2.diff) as 1660ab13ce9a
+  already rebased 3:6ff5b8feed8e "r3" (3.diff) as 1660ab13ce9a
+  rebasing 4:094320fec554 "r4" (4.diff)
+  rebasing 5:681a378595ba "r5" (5.diff)
+  rebasing 6:512a1f24768b "r6" (6.diff qtip)
   saved backup bundle to $TESTTMP/b/.hg/strip-backup/b4bffa6e4776-backup.hg (glob)
 
   $ hg tglog
--- a/tests/test-rebase-mq.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-mq.t	Tue Dec 09 03:45:26 2014 +0100
@@ -59,6 +59,7 @@
 Rebase - generate a conflict:
 
   $ hg rebase -s 2 -d 1
+  rebasing 2:3504f44bffc0 "P0" (f.patch qbase)
   merging f
   warning: conflicts during merge.
   merging f incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -71,6 +72,8 @@
   $ hg resolve -m f
   (no more unresolved files)
   $ hg rebase -c
+  rebasing 2:3504f44bffc0 "P0" (f.patch qbase)
+  rebasing 3:929394423cd3 "P1" (f2.patch qtip tip)
   merging f
   warning: conflicts during merge.
   merging f incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -83,6 +86,8 @@
   $ hg resolve -m f
   (no more unresolved files)
   $ hg rebase -c
+  already rebased 2:3504f44bffc0 "P0" (f.patch qbase) as ebe9914c0d1c
+  rebasing 3:929394423cd3 "P1" (f2.patch qtip)
   saved backup bundle to $TESTTMP/a/.hg/strip-backup/3504f44bffc0-backup.hg (glob)
 
   $ hg tglog
@@ -198,6 +203,8 @@
 Rebase the applied mq patches:
 
   $ hg rebase -s 2 -d 1
+  rebasing 2:0c587ffcb480 "P0 (git)" (f_git.patch qbase)
+  rebasing 3:c7f18665e4bc "P1" (f.patch qtip tip)
   saved backup bundle to $TESTTMP/a/.hg/strip-backup/0c587ffcb480-backup.hg (glob)
 
   $ hg qci -m 'save patch state'
--- a/tests/test-rebase-named-branches.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-named-branches.t	Tue Dec 09 03:45:26 2014 +0100
@@ -69,6 +69,10 @@
 Branch name containing a dash (issue3181)
 
   $ hg rebase -b dev-two -d dev-one --keepbranches
+  rebasing 5:24b6387c8c8c "F"
+  rebasing 6:eea13746799a "G"
+  rebasing 7:02de42196ebe "H"
+  rebasing 9:cb039b7cae8e "dev-two named branch" (tip)
   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/24b6387c8c8c-backup.hg (glob)
 
   $ hg tglog
@@ -93,6 +97,11 @@
   o  0: 'A'
   
   $ hg rebase -s dev-one -d 0 --keepbranches
+  rebasing 5:643fc9128048 "dev-one named branch"
+  rebasing 6:24de4aff8e28 "F"
+  rebasing 7:4b988a958030 "G"
+  rebasing 8:31d0e4ba75e6 "H"
+  rebasing 9:9e70cd31750f "dev-two named branch" (tip)
   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/643fc9128048-backup.hg (glob)
 
   $ hg tglog
@@ -143,6 +152,10 @@
   o  0: 'A'
   
   $ hg rebase -b 'max(branch("dev-two"))' -d dev-one --keepbranches
+  rebasing 5:77854864208c "F"
+  rebasing 6:63b4f9c788a1 "G"
+  rebasing 7:87861e68abd3 "H"
+  rebasing 8:ec00d4e0efca "dev-two named branch"
   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/77854864208c-backup.hg (glob)
 
   $ hg tglog
@@ -167,6 +180,11 @@
   o  0: 'A'
   
   $ hg rebase -s 'max(branch("dev-one"))' -d 0 --keepbranches
+  rebasing 5:643fc9128048 "dev-one named branch"
+  rebasing 6:05584c618d45 "F"
+  rebasing 7:471695f5257d "G"
+  rebasing 8:8382a539a2df "H"
+  rebasing 9:11f718458b32 "dev-two named branch" (tip)
   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/643fc9128048-backup.hg (glob)
 
   $ hg tglog
@@ -192,6 +210,9 @@
 Rebasing descendant onto ancestor across different named branches
 
   $ hg rebase -s 1 -d 8 --keepbranches
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-backup.hg (glob)
 
   $ hg tglog
@@ -218,6 +239,10 @@
   [255]
 
   $ hg rebase -s 5 -d 4
+  rebasing 5:32d3b0de7f37 "dev-two named branch"
+  rebasing 6:580fcd9fd48f "B"
+  rebasing 7:32aba0402ed2 "C"
+  rebasing 8:e4787b575338 "D" (tip)
   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/32d3b0de7f37-backup.hg (glob)
 
   $ hg tglog
@@ -248,6 +273,11 @@
   $ hg ci -m 'close b' --close
   $ hg rebase -b 8 -d b
   reopening closed branch head ea9de14a36c6
+  rebasing 4:86693275b2ef "H"
+  rebasing 5:2149726d0970 "dev-two named branch"
+  rebasing 6:81e55225e95d "B"
+  rebasing 7:09eda3dc3195 "C"
+  rebasing 8:31298fc9d159 "D"
   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/86693275b2ef-backup.hg (glob)
 
   $ cd ..
@@ -302,6 +332,7 @@
   $ cd ../case2
   $ hg up -qr 1
   $ hg rebase
+  rebasing 1:40039acb7ca5 "b1"
   saved backup bundle to $TESTTMP/case2/.hg/strip-backup/40039acb7ca5-backup.hg (glob)
   $ hg tglog
   @  3: 'b1' b
--- a/tests/test-rebase-newancestor.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-newancestor.t	Tue Dec 09 03:45:26 2014 +0100
@@ -38,7 +38,9 @@
   o  0: 'A'
   
   $ hg rebase -s 1 -d 3
+  rebasing 1:0f4f7cb4f549 "B"
   merging a
+  rebasing 2:30ae917c0e4f "C"
   merging a
   saved backup bundle to $TESTTMP/repo/.hg/strip-backup/0f4f7cb4f549-backup.hg (glob)
 
@@ -125,8 +127,12 @@
 Full rebase all the way back from branching point:
 
   $ hg rebase -r 'only(dev,default)' -d default
+  rebasing 1:1d1a643d390e "dev: create branch"
+  rebasing 2:ec2c14fb2984 "dev: f-dev stuff"
+  rebasing 4:4b019212aaf6 "dev: merge default"
   remote changed f-default which local deleted
   use (c)hanged version or leave (d)eleted? c
+  rebasing 6:9455ee510502 "dev: merge default"
   saved backup bundle to $TESTTMP/ancestor-merge/.hg/strip-backup/1d1a643d390e-backup.hg (glob)
   $ hg tglog
   o  6: 'dev: merge default'
@@ -149,8 +155,11 @@
 
   $ hg phase -fdr0:
   $ hg rebase -r 'children(only(dev,default))' -d default
+  rebasing 2:ec2c14fb2984 "dev: f-dev stuff"
+  rebasing 4:4b019212aaf6 "dev: merge default"
   remote changed f-default which local deleted
   use (c)hanged version or leave (d)eleted? c
+  rebasing 6:9455ee510502 "dev: merge default"
   saved backup bundle to $TESTTMP/ancestor-merge-2/.hg/strip-backup/ec2c14fb2984-backup.hg (glob)
   $ hg tglog
   o  7: 'dev: merge default'
@@ -222,6 +231,7 @@
   o  0: 'common'
   
   $ hg rebase -r 4 -d 2
+  rebasing 4:6990226659be "merge p1 3=outside p2 1=ancestor"
   saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/6990226659be-backup.hg (glob)
   $ hg tip
   changeset:   5:cca50676b1c5
@@ -233,6 +243,7 @@
   summary:     merge p1 3=outside p2 1=ancestor
   
   $ hg rebase -r 4 -d 2
+  rebasing 4:a57575f79074 "merge p1 1=ancestor p2 3=outside"
   saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/a57575f79074-backup.hg (glob)
   $ hg tip
   changeset:   5:f9daf77ffe76
@@ -263,6 +274,7 @@
   $ echo 'other change while merging future "rebase ancestors"' > other
   $ hg ci -Aqm 'merge rebase ancestors'
   $ hg rebase -d 5 -v
+  rebasing 6:4c5f12f25ebe "merge rebase ancestors" (tip)
   resolving manifests
   removing other
   note: merging f9daf77ffe76+ and 4c5f12f25ebe using bids from ancestors a60552eb93fb and f59da8fc0fcf
--- a/tests/test-rebase-obsolete.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-obsolete.t	Tue Dec 09 03:45:26 2014 +0100
@@ -56,6 +56,9 @@
   $ hg up 32af7686d403
   3 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ hg rebase -d eea13746799a
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   $ hg log -G
   @  10:8eeb3c33ad33 D
   |
@@ -121,6 +124,9 @@
   grafting 1:42ccdea3bb16 "B"
   grafting 3:32af7686d403 "D"
   $ hg rebase  -s 42ccdea3bb16 -d .
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   $ hg log -G
   o  10:5ae4c968c6ac C
   |
@@ -170,6 +176,7 @@
 More complex case were part of the rebase set were already rebased
 
   $ hg rebase --rev 'desc(D)' --dest 'desc(H)'
+  rebasing 9:08483444fef9 "D"
   $ hg debugobsolete
   42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (*) {'user': 'test'} (glob)
   5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (*) {'user': 'test'} (glob)
@@ -195,6 +202,9 @@
   o  0:cd010b8cd998 A
   
   $ hg rebase --source 'desc(B)' --dest 'tip'
+  rebasing 8:8877864f1edb "B"
+  rebasing 9:08483444fef9 "D"
+  rebasing 10:5ae4c968c6ac "C"
   $ hg debugobsolete
   42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (*) {'user': 'test'} (glob)
   5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (*) {'user': 'test'} (glob)
@@ -247,6 +257,9 @@
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd collapse
   $ hg rebase  -s 42ccdea3bb16 -d eea13746799a --collapse
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   $ hg log -G
   o  8:4dc2197e807b Collapsed revision
   |
@@ -299,7 +312,10 @@
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd hidden
   $ hg rebase -s 5fddd98957c8 -d eea13746799a
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   $ hg rebase -s 42ccdea3bb16 -d 02de42196ebe
+  rebasing 1:42ccdea3bb16 "B"
   $ hg log -G
   o  10:7c6027df6a99 B
   |
@@ -351,6 +367,7 @@
   $ hg log -r 'children(8)'
   9:cf44d2f5a9f4 D (no-eol)
   $ hg rebase -r 8
+  rebasing 8:e273c5e7d2d2 "C"
   $ hg log -G
   o  11:0d8f238b634c C
   |
@@ -376,6 +393,10 @@
 ------------------------------------
 
   $ hg rebase --dest 4 --rev '7+11+9'
+  rebasing 7:02de42196ebe "H"
+  rebasing 9:cf44d2f5a9f4 "D"
+  not rebasing ignored 10:7c6027df6a99 "B"
+  rebasing 11:0d8f238b634c "C" (tip)
   $ hg log -G
   o  14:1e8370e38cca C
   |
@@ -442,6 +463,10 @@
 (actual test)
 
   $ hg rebase --dest 6 --rev '((desc(H) + desc(D))::) - desc(M)'
+  rebasing 3:32af7686d403 "D"
+  rebasing 7:02de42196ebe "H"
+  not rebasing ignored 8:53a6a128b2b7 "M"
+  rebasing 9:4bde274eefcf "I" (tip)
   $ hg log -G
   @  12:acd174b7ab39 I
   |
--- a/tests/test-rebase-parameters.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-parameters.t	Tue Dec 09 03:45:26 2014 +0100
@@ -120,6 +120,9 @@
   $ hg up -q -C 3
 
   $ hg rebase
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-backup.hg (glob)
 
   $ hg tglog
@@ -155,6 +158,9 @@
   $ cd a2
 
   $ hg rebase --base .
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a2/.hg/strip-backup/42ccdea3bb16-backup.hg (glob)
 
   $ hg tglog
@@ -185,6 +191,9 @@
   $ cd a3
 
   $ hg rebase --dest 'branch(.)'
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a3/.hg/strip-backup/42ccdea3bb16-backup.hg (glob)
 
   $ hg tglog
@@ -215,6 +224,8 @@
   $ cd a4
 
   $ hg rebase --source 'desc("C")'
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a4/.hg/strip-backup/5fddd98957c8-backup.hg (glob)
 
   $ hg tglog
@@ -245,6 +256,9 @@
   $ cd a5
 
   $ hg rebase --dest 6
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a5/.hg/strip-backup/42ccdea3bb16-backup.hg (glob)
 
   $ hg tglog
@@ -275,6 +289,9 @@
   $ cd a6
 
   $ hg rebase --base 'desc("D")'
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a6/.hg/strip-backup/42ccdea3bb16-backup.hg (glob)
 
   $ hg tglog
@@ -305,6 +322,8 @@
   $ cd a7
 
   $ hg rebase --source 2 --dest 7
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a7/.hg/strip-backup/5fddd98957c8-backup.hg (glob)
 
   $ hg tglog
@@ -335,6 +354,9 @@
   $ cd a8
 
   $ hg rebase --base 3 --dest 7
+  rebasing 1:42ccdea3bb16 "B"
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a8/.hg/strip-backup/42ccdea3bb16-backup.hg (glob)
 
   $ hg tglog
@@ -365,6 +387,8 @@
   $ cd a9
 
   $ hg rebase --rev 'desc("C")::'
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a9/.hg/strip-backup/5fddd98957c8-backup.hg (glob)
 
   $ hg tglog
@@ -413,6 +437,7 @@
   $ cd b1
 
   $ hg rebase -s 2 -d 1 --tool internal:local
+  rebasing 2:e4e3f3546619 "c2b" (tip)
   saved backup bundle to $TESTTMP/b1/.hg/strip-backup/e4e3f3546619-backup.hg (glob)
 
   $ hg cat c2
@@ -425,6 +450,7 @@
   $ cd b2
 
   $ hg rebase -s 2 -d 1 --tool internal:other
+  rebasing 2:e4e3f3546619 "c2b" (tip)
   saved backup bundle to $TESTTMP/b2/.hg/strip-backup/e4e3f3546619-backup.hg (glob)
 
   $ hg cat c2
@@ -437,6 +463,7 @@
   $ cd b3
 
   $ hg rebase -s 2 -d 1 --tool internal:fail
+  rebasing 2:e4e3f3546619 "c2b" (tip)
   unresolved conflicts (see hg resolve, then hg rebase --continue)
   [1]
 
@@ -457,6 +484,7 @@
   (no more unresolved files)
   $ hg rebase -c --tool internal:fail
   tool option will be ignored
+  rebasing 2:e4e3f3546619 "c2b" (tip)
   saved backup bundle to $TESTTMP/b3/.hg/strip-backup/e4e3f3546619-backup.hg (glob)
 
   $ hg rebase -i
--- a/tests/test-rebase-pull.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-pull.t	Tue Dec 09 03:45:26 2014 +0100
@@ -53,6 +53,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
+  rebasing 2:ff8d69a621f9 "L1"
   saved backup bundle to $TESTTMP/b/.hg/strip-backup/ff8d69a621f9-backup.hg (glob)
 
   $ hg tglog
@@ -149,6 +150,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
+  rebasing 3:ff8d69a621f9 "L1"
   saved backup bundle to $TESTTMP/c/.hg/strip-backup/ff8d69a621f9-backup.hg (glob)
   $ hg tglog
   @  5: 'L1'
--- a/tests/test-rebase-rename.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-rename.t	Tue Dec 09 03:45:26 2014 +0100
@@ -60,6 +60,7 @@
 Rebase the revision containing the rename:
 
   $ hg rebase -s 3 -d 2
+  rebasing 3:73a3ee40125d "rename A" (tip)
   saved backup bundle to $TESTTMP/a/.hg/strip-backup/73a3ee40125d-backup.hg (glob)
 
   $ hg tglog
@@ -150,6 +151,7 @@
 Rebase the revision containing the copy:
 
   $ hg rebase -s 3 -d 2
+  rebasing 3:0a8162ff18a8 "copy A" (tip)
   saved backup bundle to $TESTTMP/b/.hg/strip-backup/0a8162ff18a8-backup.hg (glob)
 
   $ hg tglog
@@ -233,6 +235,7 @@
   
 
   $ hg rebase -s 4 -d 3
+  rebasing 4:b918d683b091 "Another unrelated change" (tip)
   saved backup bundle to $TESTTMP/repo/.hg/strip-backup/b918d683b091-backup.hg (glob)
 
   $ hg diff --stat -c .
@@ -281,6 +284,9 @@
 
 Rebase the copies on top of the unrelated change.
   $ hg rebase --source 1 --dest 4
+  rebasing 1:79d255d24ad2 "File b created as copy of a and modified"
+  rebasing 2:327f772bc074 "File c created as copy of b and modified"
+  rebasing 3:421b7e82bb85 "File d created as copy of c and modified"
   saved backup bundle to $TESTTMP/copy-gets-preserved/.hg/strip-backup/79d255d24ad2-backup.hg (glob)
   $ hg update 4
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -303,7 +309,10 @@
   $ hg ci -m 'unrelated commit is unrelated'
   created new head
   $ hg rebase -s 2 --dest 5 --collapse
+  rebasing 2:68bf06433839 "File b created as copy of a and modified"
+  rebasing 3:af74b229bc02 "File c created as copy of b and modified"
   merging b and c to c
+  rebasing 4:dbb9ba033561 "File d created as copy of c and modified"
   merging c and d to d
   saved backup bundle to $TESTTMP/copy-gets-preserved/.hg/strip-backup/68bf06433839-backup.hg (glob)
   $ hg co tip
--- a/tests/test-rebase-scenario-global.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-rebase-scenario-global.t	Tue Dec 09 03:45:26 2014 +0100
@@ -51,6 +51,7 @@
   $ hg status --rev "3^1" --rev 3
   A D
   $ HGEDITOR=cat hg rebase -s 3 -d 7 --edit
+  rebasing 3:32af7686d403 "D"
   D
   
   
@@ -89,6 +90,7 @@
   $ cd a2
 
   $ HGEDITOR=cat hg rebase -s 3 -d 5
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a2/.hg/strip-backup/32af7686d403-backup.hg (glob)
 
   $ hg tglog
@@ -117,6 +119,8 @@
   $ cd a3
 
   $ hg rebase -s 4 -d 7
+  rebasing 4:9520eea781bc "E"
+  rebasing 6:eea13746799a "G"
   saved backup bundle to $TESTTMP/a3/.hg/strip-backup/9520eea781bc-backup.hg (glob)
 
   $ hg tglog
@@ -143,6 +147,9 @@
   $ cd a4
 
   $ hg rebase -s 5 -d 4
+  rebasing 5:24b6387c8c8c "F"
+  rebasing 6:eea13746799a "G"
+  rebasing 7:02de42196ebe "H" (tip)
   saved backup bundle to $TESTTMP/a4/.hg/strip-backup/24b6387c8c8c-backup.hg (glob)
 
   $ hg tglog
@@ -169,6 +176,7 @@
   $ cd a5
 
   $ hg rebase -s 6 -d 7
+  rebasing 6:eea13746799a "G"
   saved backup bundle to $TESTTMP/a5/.hg/strip-backup/eea13746799a-backup.hg (glob)
 
   $ hg tglog
@@ -197,6 +205,9 @@
   $ cd a6
 
   $ hg rebase -s 5 -d 1
+  rebasing 5:24b6387c8c8c "F"
+  rebasing 6:eea13746799a "G"
+  rebasing 7:02de42196ebe "H" (tip)
   saved backup bundle to $TESTTMP/a6/.hg/strip-backup/24b6387c8c8c-backup.hg (glob)
 
   $ hg tglog
@@ -239,6 +250,7 @@
 G onto B - merge revision with both parents not in ancestors of target:
 
   $ hg rebase -s 6 -d 1
+  rebasing 6:eea13746799a "G"
   abort: cannot use revision 6 as base, result would have 3 parents
   [255]
 
@@ -266,6 +278,8 @@
 C onto A - rebase onto an ancestor:
 
   $ hg rebase -d 0 -s 2
+  rebasing 2:5fddd98957c8 "C"
+  rebasing 3:32af7686d403 "D"
   saved backup bundle to $TESTTMP/a7/.hg/strip-backup/5fddd98957c8-backup.hg (glob)
   $ hg tglog
   o  7: 'D'
@@ -297,32 +311,39 @@
   [255]
 
   $ hg rebase -d 5 -b 6 --keep
+  rebasing 6:e1c4361dd923 "C"
+  rebasing 7:c9659aac0000 "D" (tip)
 
 Check rebasing mutable changeset
 Source phase greater or equal to destination phase: new changeset get the phase of source:
   $ hg id -n
   5
   $ hg rebase -s9 -d0
+  rebasing 9:2b23e52411f4 "D" (tip)
   saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2b23e52411f4-backup.hg (glob)
   $ hg id -n # check we updated back to parent
   5
   $ hg log --template "{phase}\n" -r 9
   draft
   $ hg rebase -s9 -d1
+  rebasing 9:2cb10d0cfc6c "D" (tip)
   saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2cb10d0cfc6c-backup.hg (glob)
   $ hg log --template "{phase}\n" -r 9
   draft
   $ hg phase --force --secret 9
   $ hg rebase -s9 -d0
+  rebasing 9:c5b12b67163a "D" (tip)
   saved backup bundle to $TESTTMP/a7/.hg/strip-backup/c5b12b67163a-backup.hg (glob)
   $ hg log --template "{phase}\n" -r 9
   secret
   $ hg rebase -s9 -d1
+  rebasing 9:2a0524f868ac "D" (tip)
   saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2a0524f868ac-backup.hg (glob)
   $ hg log --template "{phase}\n" -r 9
   secret
 Source phase lower than destination phase: new changeset get the phase of destination:
   $ hg rebase -s8 -d9
+  rebasing 8:6d4f22462821 "C"
   saved backup bundle to $TESTTMP/a7/.hg/strip-backup/6d4f22462821-backup.hg (glob)
   $ hg log --template "{phase}\n" -r 'rev(9)'
   secret
@@ -375,6 +396,11 @@
   (use --keep to keep original changesets)
   [255]
   $ hg rebase -r '2::8' -d 1 --keep
+  rebasing 2:c9e50f6cdc55 "C"
+  rebasing 3:ffd453c31098 "D"
+  rebasing 6:3d8a618087a7 "G"
+  rebasing 7:72434a4e60b0 "H"
+  rebasing 8:479ddb54a924 "I" (tip)
   $ hg tglog
   o  13: 'I'
   |
@@ -416,6 +442,10 @@
   (use --keep to keep original changesets)
   [255]
   $ hg rebase -r '3::8' -d 1 --keep
+  rebasing 3:ffd453c31098 "D"
+  rebasing 6:3d8a618087a7 "G"
+  rebasing 7:72434a4e60b0 "H"
+  rebasing 8:479ddb54a924 "I" (tip)
   $ hg tglog
   o  12: 'I'
   |
@@ -455,6 +485,9 @@
   (use --keep to keep original changesets)
   [255]
   $ hg rebase -r '3::7' -d 1 --keep
+  rebasing 3:ffd453c31098 "D"
+  rebasing 6:3d8a618087a7 "G"
+  rebasing 7:72434a4e60b0 "H"
   $ hg tglog
   o  11: 'H'
   |
@@ -492,6 +525,11 @@
   (use --keep to keep original changesets)
   [255]
   $ hg rebase -r '3::(7+5)' -d 1 --keep
+  rebasing 3:ffd453c31098 "D"
+  rebasing 4:c01897464e7f "E"
+  rebasing 5:41bfcc75ed73 "F"
+  rebasing 6:3d8a618087a7 "G"
+  rebasing 7:72434a4e60b0 "H"
   $ hg tglog
   o  13: 'H'
   |
@@ -531,6 +569,9 @@
   $ hg clone -q -u . ah ah5
   $ cd ah5
   $ hg rebase -r '6::' -d 2
+  rebasing 6:3d8a618087a7 "G"
+  rebasing 7:72434a4e60b0 "H"
+  rebasing 8:479ddb54a924 "I" (tip)
   saved backup bundle to $TESTTMP/ah5/.hg/strip-backup/3d8a618087a7-backup.hg (glob)
   $ hg tglog
   o  8: 'I'
@@ -561,6 +602,11 @@
   $ hg clone -q -u . ah ah6
   $ cd ah6
   $ hg rebase -r '(4+6)::' -d 1
+  rebasing 4:c01897464e7f "E"
+  rebasing 5:41bfcc75ed73 "F"
+  rebasing 6:3d8a618087a7 "G"
+  rebasing 7:72434a4e60b0 "H"
+  rebasing 8:479ddb54a924 "I" (tip)
   saved backup bundle to $TESTTMP/ah6/.hg/strip-backup/3d8a618087a7-backup.hg (glob)
   $ hg tglog
   o  8: 'I'
@@ -628,6 +674,8 @@
 (actual test)
 
   $ hg rebase --dest 'desc(G)' --rev 'desc(K) + desc(I)'
+  rebasing 8:e7ec4e813ba6 "I"
+  rebasing 10:23a4ace37988 "K" (tip)
   saved backup bundle to $TESTTMP/a8/.hg/strip-backup/23a4ace37988-backup.hg (glob)
   $ hg log --rev 'children(desc(G))'
   changeset:   9:adb617877056
@@ -690,4 +738,6 @@
   $ hg add subfile
   $ hg commit -m 'second source with subdir'
   $ hg rebase -b . -d 1 --traceback
+  rebasing 2:779a07b1b7a0 "first source commit"
+  rebasing 3:a7d6f3a00bf3 "second source with subdir" (tip)
   saved backup bundle to $TESTTMP/cwd-vanish/.hg/strip-backup/779a07b1b7a0-backup.hg (glob)
--- a/tests/test-shelve.t	Sun Dec 07 20:04:45 2014 +0100
+++ b/tests/test-shelve.t	Tue Dec 09 03:45:26 2014 +0100
@@ -110,6 +110,7 @@
   unshelving change 'default-01'
   temporarily committing pending changes (restore with 'hg unshelve --abort')
   rebasing shelved changes
+  rebasing 4:4702e8911fe0 "changes to '[mq]: second.patch'" (tip)
   merging a/a
 
   $ hg revert --all -q
@@ -202,6 +203,7 @@
   unshelving change 'default'
   temporarily committing pending changes (restore with 'hg unshelve --abort')
   rebasing shelved changes
+  rebasing 5:4702e8911fe0 "changes to '[mq]: second.patch'" (tip)
   merging a/a
   warning: conflicts during merge.
   merging a/a incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -312,6 +314,7 @@
   [255]
 
   $ hg unshelve -c
+  rebasing 5:4702e8911fe0 "changes to '[mq]: second.patch'" (tip)
   unshelve of 'default' complete
 
 ensure the repo is as we hope
@@ -382,6 +385,7 @@
   unshelving change 'default'
   temporarily committing pending changes (restore with 'hg unshelve --abort')
   rebasing shelved changes
+  rebasing 6:c5e6910e7601 "changes to 'second'" (tip)
   merging a/a
   $ hg parents -q
   4:33f7f61e6c5e
@@ -461,11 +465,13 @@
   shelved as default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg rebase -d 1 --config extensions.rebase=
+  rebasing 2:323bfa07f744 "xyz" (tip)
   merging x
   saved backup bundle to $TESTTMP/shelverebase/.hg/strip-backup/323bfa07f744-backup.hg (glob)
   $ hg unshelve
   unshelving change 'default'
   rebasing shelved changes
+  rebasing 4:b8fefe789ed0 "changes to 'xyz'" (tip)
   $ hg status
   M z
 
@@ -492,6 +498,7 @@
   $ hg unshelve
   unshelving change 'default'
   rebasing shelved changes
+  rebasing 3:0cae6656c016 "changes to 'c'" (tip)
   $ hg status
   A d
 
@@ -505,6 +512,7 @@
   $ hg unshelve
   unshelving change 'default'
   rebasing shelved changes
+  rebasing 3:be58f65f55fb "changes to 'b'" (tip)
   $ hg status
   A d
 
@@ -602,6 +610,7 @@
   unshelving change 'default'
   temporarily committing pending changes (restore with 'hg unshelve --abort')
   rebasing shelved changes
+  rebasing 5:23b29cada8ba "changes to 'commit stuff'" (tip)
   merging f
   warning: conflicts during merge.
   merging f incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -641,6 +650,7 @@
   unshelving change 'default'
   temporarily committing pending changes (restore with 'hg unshelve --abort')
   rebasing shelved changes
+  rebasing 5:23b29cada8ba "changes to 'commit stuff'" (tip)
   $ hg st
   M a
   A f
@@ -656,6 +666,7 @@
   $ hg unshelve
   unshelving change 'default'
   rebasing shelved changes
+  rebasing 5:23b29cada8ba "changes to 'commit stuff'" (tip)
   merging f
   warning: conflicts during merge.
   merging f incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -697,6 +708,7 @@
   $ hg unshelve
   unshelving change 'default'
   rebasing shelved changes
+  rebasing 5:4b555fdb4e96 "changes to 'second'" (tip)
   merging a/a
   warning: conflicts during merge.
   merging a/a incomplete! (edit conflicts, then use 'hg resolve --mark')
@@ -711,6 +723,7 @@
   $ hg resolve -m a/a
   (no more unresolved files)
   $ hg unshelve -c
+  rebasing 5:4b555fdb4e96 "changes to 'second'" (tip)
   unshelve of 'default' complete
   $ hg diff
   $ hg status