RFC: improve output of pull --rebase

Sune Foldager cryo at cyanite.org
Sun Mar 7 14:27:52 CST 2010


# HG changeset patch
# User Sune Foldager <cryo at cyanite.org>
# Date 1267992920 -3600
# Node ID 0185d83bc1a68f921b300a11528467711582a91f
# Parent  3077ee5ca7506ec71df9a2a6b2011c49df213cc9
rebase: improve output of pull --rebase

diff -r 3077ee5ca750 -r 0185d83bc1a6 hgext/rebase.py
--- a/hgext/rebase.py	Sun Mar 07 13:10:23 2010 -0500
+++ b/hgext/rebase.py	Sun Mar 07 21:15:20 2010 +0100
@@ -14,7 +14,7 @@
 http://mercurial.selenic.com/wiki/RebaseExtension
 '''

-from mercurial import util, repair, merge, cmdutil, commands, error
+from mercurial import hg, util, repair, merge, cmdutil, commands, error
 from mercurial import extensions, ancestor, copies, patch
 from mercurial.commands import templateopts
 from mercurial.node import nullrev
@@ -457,6 +457,9 @@
     state[source] = nullrev
     return repo['.'].rev(), repo[dest].rev(), state

+def _dummy(*args, **kwargs):
+    pass
+
 def pullrebase(orig, ui, repo, *args, **opts):
     'Call rebase after pull if the latter has been invoked with --rebase'
     if opts.get('rebase'):
@@ -467,7 +470,12 @@

         cmdutil.bail_if_changed(repo)
         revsprepull = len(repo)
-        orig(ui, repo, *args, **opts)
+        origpostincoming = commands.postincoming
+        commands.postincoming = _dummy
+        try:
+            orig(ui, repo, *args, **opts)
+        finally:
+            commands.postincoming = origpostincoming
         revspostpull = len(repo)
         if revspostpull > revsprepull:
             rebase(ui, repo, **opts)
@@ -475,7 +483,7 @@
             dest = repo[branch].rev()
             if dest != repo['.'].rev():
                 # there was nothing to rebase we force an update
-                merge.update(repo, dest, False, False, False)
+                hg.update(repo, dest)
     else:
         orig(ui, repo, *args, **opts)

diff -r 3077ee5ca750 -r 0185d83bc1a6 tests/test-rebase-pull.out
--- a/tests/test-rebase-pull.out	Sun Mar 07 13:10:23 2010 -0500
+++ b/tests/test-rebase-pull.out	Sun Mar 07 21:15:20 2010 +0100
@@ -10,7 +10,6 @@
 adding manifests
 adding file changes
 added 1 changesets with 1 changes to 1 files (+1 heads)
-(run 'hg heads' to see heads, 'hg merge' to merge)
 saving bundle to
 adding branch
 adding changesets
@@ -39,8 +38,8 @@
 adding manifests
 adding file changes
 added 1 changesets with 1 changes to 1 files
-(run 'hg update' to get a working copy)
 nothing to rebase
+1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 @  2
 |



More information about the Mercurial-devel mailing list