changeset 16228:5b41d5ad52bf stable

rebase: move bookmarks as needed with pull --rebase (issue3285)
author Matt Mackall <mpm@selenic.com>
date Sun, 04 Mar 2012 17:12:12 -0600
parents 674ecd23c42c
children 5cb2693e1a60 d4d35fd0889d
files hgext/rebase.py tests/test-rebase-pull.t
diffstat 2 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/rebase.py	Thu Mar 01 14:42:23 2012 +0000
+++ b/hgext/rebase.py	Sun Mar 04 17:12:12 2012 -0600
@@ -628,6 +628,7 @@
             ui.debug('--update and --rebase are not compatible, ignoring '
                      'the update flag\n')
 
+        movemarkfrom = repo['.'].node()
         cmdutil.bailifchanged(repo)
         revsprepull = len(repo)
         origpostincoming = commands.postincoming
@@ -646,6 +647,9 @@
             if dest != repo['.'].rev():
                 # there was nothing to rebase we force an update
                 hg.update(repo, dest)
+                if bookmarks.update(repo, [movemarkfrom], repo['.'].node()):
+                    ui.status(_("updating bookmark %s\n")
+                              % repo._bookmarkcurrent)
     else:
         if opts.get('tool'):
             raise util.Abort(_('--tool can only be used with --rebase'))
--- a/tests/test-rebase-pull.t	Thu Mar 01 14:42:23 2012 +0000
+++ b/tests/test-rebase-pull.t	Sun Mar 04 17:12:12 2012 -0600
@@ -77,6 +77,7 @@
 
   $ cd ../c
 
+  $ hg book norebase
   $ hg pull --rebase
   pulling from $TESTTMP/a (glob)
   searching for changes
@@ -86,6 +87,7 @@
   added 1 changesets with 1 changes to 1 files
   nothing to rebase
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  updating bookmark norebase
 
   $ hg tglog -l 1
   @  2: 'R1'