Patchwork [3,of,2] rebase: preserve active bookmark when not at head (issue3813)

login
register
mail settings
Submitter Pierre-Yves David
Date Oct. 14, 2013, 3:16 p.m.
Message ID <a337eefafeb2ecb67519.1381763813@vulgaris>
Download mbox | patch
Permalink /patch/2758/
State Accepted
Commit 0f99747202f964b6f3717505755cad08d608ac5c
Headers show

Comments

Pierre-Yves David - Oct. 14, 2013, 3:16 p.m.
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david@ens-lyon.org>
# Date 1381763579 -7200
#      Mon Oct 14 17:12:59 2013 +0200
# Node ID a337eefafeb2ecb6751917932a3fc0f48c81fe50
# Parent  b94e088ccbedbdcf407658f2e41305027ba58464
rebase: preserve active bookmark when not at head (issue3813)

Now that the workind directory parent is preserved, we can preserve the active
bookmark too.
Matt Mackall - Oct. 20, 2013, 12:49 a.m.
On Mon, 2013-10-14 at 17:16 +0200, pierre-yves.david@ens-lyon.org wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david@ens-lyon.org>
> # Date 1381763579 -7200
> #      Mon Oct 14 17:12:59 2013 +0200
> # Node ID a337eefafeb2ecb6751917932a3fc0f48c81fe50
> # Parent  b94e088ccbedbdcf407658f2e41305027ba58464
> rebase: preserve active bookmark when not at head (issue3813)
> 
> Now that the workind directory parent is preserved, we can preserve the active
> bookmark too.

These are queued for default, thanks.

Patch

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -355,11 +355,11 @@  def rebase(ui, repo, **opts):
         util.unlinkpath(repo.sjoin('undo'), ignoremissing=True)
         if skipped:
             ui.note(_("%d revisions have been skipped\n") % len(skipped))
 
         if (activebookmark and
-            repo['tip'].node() == repo._bookmarks[activebookmark]):
+            repo['.'].node() == repo._bookmarks[activebookmark]):
                 bookmarks.setcurrent(repo, activebookmark)
 
     finally:
         release(lock, wlock)
 
diff --git a/tests/test-rebase-bookmarks.t b/tests/test-rebase-bookmarks.t
--- a/tests/test-rebase-bookmarks.t
+++ b/tests/test-rebase-bookmarks.t
@@ -125,10 +125,16 @@  Keep active bookmark on the correct chan
   |
   o  1: 'D' bookmarks: W
   |
   o  0: 'A' bookmarks:
   
+  $ hg bookmarks
+     W                         1:41acb9dca9eb
+   * X                         2:e926fccfa8ec
+     Y                         3:3d5fa227f4b5
+     Z                         3:3d5fa227f4b5
+
 rebase --continue with bookmarks present (issue3802)
 
   $ hg up 2
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ echo 'C' > c