diff --git a/hgext3rd/tweakdefaults.py b/hgext3rd/tweakdefaults.py --- a/hgext3rd/tweakdefaults.py +++ b/hgext3rd/tweakdefaults.py @@ -51,6 +51,9 @@ """ from mercurial.i18n import _ +from mercurial.node import ( + short, +) from mercurial import ( bookmarks, cmdutil, @@ -112,6 +115,8 @@ _('reuse commit message from REV'), _('REV'))) opawarerebase = markermetadatawritingcommand(ui, _rebase, 'rebase') wrapcommand(rebase.cmdtable, 'rebase', opawarerebase) + wrapfunction(rebase.rebaseruntime, '_finishrebase', + _finishrebasewrapper) entry = wrapcommand(commands.table, 'pull', pull) options = entry[1] options.append( @@ -662,6 +667,31 @@ return orig(ui, repo, **opts) +def _finishrebasewrapper(orig, rebaseruntime): + res = orig(rebaseruntime) + _printrebasestate(rebaseruntime) + return res + +def _printrebasestate(rebaseruntime): + maxoutput = 10 + oldrevnumbers = rebaseruntime.state.keys() + for i in range(0, min(len(oldrevnumbers), maxoutput)): + old = oldrevnumbers[i] + new = rebaseruntime.state[old] + # self.state can also map to what has to be done with the old rev + if new < 1: + continue + _printrebasestateentry(rebaseruntime, old, new) + +def _printrebasestateentry(rebaseruntime, old, new): + unfi = rebaseruntime.repo.unfiltered() + oldctx = unfi[old] + newctx = unfi[new] + firstline = oldctx.description().split("\n")[0][:50] + rebaseruntime.ui.status(_("new revision hashes:\n")) + rebaseruntime.ui.status(_("%s -> %s \"%s\"\n") % ( + short(oldctx.node())[:10], short(newctx.node())[:10], firstline)) + def _computeobsoletenotrebasedwrapper(orig, repo, rebaseobsrevs, dest): """Wrapper for _computeobsoletenotrebased from rebase extensions diff --git a/tests/test-fbamend-userestack.t b/tests/test-fbamend-userestack.t --- a/tests/test-fbamend-userestack.t +++ b/tests/test-fbamend-userestack.t @@ -56,6 +56,10 @@ $ hg amend --fixup rebasing 2:* "add c" (glob) rebasing 3:* "add d" (glob) + new revision hashes: + 4538525df7 -> f1e095d63f "add c" + new revision hashes: + 47d2a3944d -> 8f8ad63e82 "add d" $ showgraph o 6 add d | @@ -75,6 +79,10 @@ $ hg amend -m "amended again" --rebase rebasing 5:* "add c" (glob) rebasing 6:* "add d" (glob) + new revision hashes: + f1e095d63f -> 22b888b763 "add c" + new revision hashes: + 8f8ad63e82 -> 45faca1992 "add d" $ showgraph o 9 add d | diff --git a/tests/test-smartlog-obsolete.t b/tests/test-smartlog-obsolete.t --- a/tests/test-smartlog-obsolete.t +++ b/tests/test-smartlog-obsolete.t @@ -62,6 +62,8 @@ o 1 Amended $ hg rebase -r 2 -d . rebasing 2:* "add b" (glob) + new revision hashes: + 2f5ef14747 -> 44ef196099 "add b" $ showgraph o 4 add b | diff --git a/tests/test-smartlog-tweakdefaults.t b/tests/test-smartlog-tweakdefaults.t --- a/tests/test-smartlog-tweakdefaults.t +++ b/tests/test-smartlog-tweakdefaults.t @@ -35,8 +35,12 @@ created new head $ hg rebase --hidden -r 7 -d 1 # rev 8 rebasing 7:1e9a3c00cbe9 "b" (tip) + new revision hashes: + 1e9a3c00cb -> a56b9711d3 "b" $ hg rebase --hidden -r 7 -d 2 # rev 9 rebasing 7:1e9a3c00cbe9 "b" + new revision hashes: + 1e9a3c00cb -> 60a2aaef46 "b" Check the rebase template keywords $ hg log --hidden -r 7 -T "{node} rebased as {rebasesuccessors % '{short(rebasesuccessor)} '}\n" diff --git a/tests/test-tweakdefaults-opawarecommands.t b/tests/test-tweakdefaults-opawarecommands.t --- a/tests/test-tweakdefaults-opawarecommands.t +++ b/tests/test-tweakdefaults-opawarecommands.t @@ -30,6 +30,8 @@ created new head $ hg rebase -r . -d destination rebasing 4:1e9a3c00cbe9 "b" (tip) + new revision hashes: + 1e9a3c00cb -> 392ca1fc98 "b" $ hg debugobsolete .* {'operation': 'amend', 'user': 'test'} (re) .* {'operation': 'amend', 'user': 'test'} (re) diff --git a/tests/test-tweakdefaults-ordering.t b/tests/test-tweakdefaults-ordering.t --- a/tests/test-tweakdefaults-ordering.t +++ b/tests/test-tweakdefaults-ordering.t @@ -26,5 +26,7 @@ $ hg rebase rebasing 2:d5e255ef74f8 "c" (tip C) saved backup bundle to $TESTTMP/repo/.hg/strip-backup/d5e255ef74f8-7d2cc323-rebase.hg (glob) + new revision hashes: + bac5dcb443 -> 0000000000 "c" diff --git a/tests/test-tweakdefaults-remotenames.t b/tests/test-tweakdefaults-remotenames.t --- a/tests/test-tweakdefaults-remotenames.t +++ b/tests/test-tweakdefaults-remotenames.t @@ -49,12 +49,16 @@ no changes found rebasing 3:3de6bbccf693 "foo" (tip bm) saved backup bundle to $TESTTMP/clone/.hg/strip-backup/3de6bbccf693-0dce0663-rebase.hg (glob) + new revision hashes: + 54ac787ff1 -> 0000000000 "foo" $ hg pull --rebase --dest three pulling from $TESTTMP/repo (glob) searching for changes no changes found rebasing 3:54ac787ff1c5 "foo" (tip bm) saved backup bundle to $TESTTMP/clone/.hg/strip-backup/54ac787ff1c5-4c2ca3a1-rebase.hg (glob) + new revision hashes: + 5413b62180 -> 0000000000 "foo" Test that hg pull --update aborts without --dest $ hg pull --update @@ -91,6 +95,8 @@ no changes found rebasing 4:50f3f60b4841 "d" (tip) saved backup bundle to * (glob) + new revision hashes: + ba0f83735c -> 0000000000 "d" $ hg log -G --all -T '{node|short} {bookmarks} {remotenames}' @ ba0f83735c95 | @@ -117,6 +123,8 @@ rebasing 4:ba0f83735c95 "d" merging d saved backup bundle to $TESTTMP/clone/.hg/strip-backup/ba0f83735c95-ba455273-rebase.hg (glob) + new revision hashes: + e8aa3bc9f3 -> 0000000000 "remote d" $ hg log -G --all -T '{node|short} {bookmarks} {remotenames}' @ d6553cf01770 | diff --git a/tests/test-tweakdefaults.t b/tests/test-tweakdefaults.t --- a/tests/test-tweakdefaults.t +++ b/tests/test-tweakdefaults.t @@ -93,6 +93,8 @@ $ hg rebase -d 2 rebasing 1:7b4cb4e1674c "b" saved backup bundle to $TESTTMP/repo/.hg/strip-backup/7b4cb4e1674c-f22b5b1e-rebase.hg (glob) + new revision hashes: + ae5108b653 -> 0000000000 "a2" Empty rebase with nooprebase=True (default) succeeds @@ -503,6 +505,8 @@ created new head $ hg rebase -r 1 -d 2 rebasing 1:09d39afb522a "a" + new revision hashes: + 09d39afb52 -> 6aba9c718e "a" Test that we show divergence warning if inhibit is disabled $ hg rebase -r 1 -d 3 --hidden @@ -516,6 +520,8 @@ > EOF $ hg rebase -r 1 -d 3 --hidden rebasing 1:09d39afb522a "a" + new revision hashes: + 09d39afb52 -> e724a46c58 "a" Test that we allow pure prune rebases $ hg strip 4 @@ -524,6 +530,8 @@ 1 changesets pruned $ hg rebase -r 4 -d 3 --hidden rebasing 4:31aefaa21905 "d" + new revision hashes: + 31aefaa219 -> a85c127443 "d" Test diff --per-file-stat $ echo a >> a