[PATCH V2] bookmarks: add 'hg pull -B .' for pulling the active bookmark (issue5258)
liscju
piotr.listkiewicz at gmail.com
Mon Jun 20 07:51:01 UTC 2016
# HG changeset patch
# User liscju <piotr.listkiewicz at gmail.com>
# Date 1464814737 -7200
# Wed Jun 01 22:58:57 2016 +0200
# Node ID 9c9bacc0c8f7c830fe05ff47442d85ac9576fa04
# Parent d269e7db2f55f812c9ee1efe5626602614174df3
bookmarks: add 'hg pull -B .' for pulling the active bookmark (issue5258)
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -5805,6 +5805,7 @@ def pull(ui, repo, source="default", **o
remotebookmarks = other.listkeys('bookmarks')
pullopargs['remotebookmarks'] = remotebookmarks
for b in opts['bookmark']:
+ b = repo._bookmarks.expandname(b)
if b not in remotebookmarks:
raise error.Abort(_('remote bookmark %s not found!') % b)
revs.append(remotebookmarks[b])
diff --git a/mercurial/exchange.py b/mercurial/exchange.py
--- a/mercurial/exchange.py
+++ b/mercurial/exchange.py
@@ -1056,7 +1056,8 @@ class pulloperation(object):
# revision we try to pull (None is "all")
self.heads = heads
# bookmark pulled explicitly
- self.explicitbookmarks = bookmarks
+ self.explicitbookmarks = [repo._bookmarks.expandname(bookmark)
+ for bookmark in bookmarks]
# do we force pull?
self.force = force
# whether a streaming clone was requested
diff --git a/tests/test-bookmarks-pushpull.t b/tests/test-bookmarks-pushpull.t
--- a/tests/test-bookmarks-pushpull.t
+++ b/tests/test-bookmarks-pushpull.t
@@ -252,7 +252,10 @@ divergent bookmarks
explicit pull should overwrite the local version (issue4439)
- $ hg pull --config paths.foo=../a foo -B X
+ $ hg update -r X
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ (activating bookmark X)
+ $ hg pull --config paths.foo=../a foo -B .
pulling from $TESTTMP/a (glob)
no changes found
divergent bookmark @ stored as @foo
@@ -366,7 +369,10 @@ Update a bookmark right after the initia
X 1:0d2164f0ce0d
* Y 5:35d1ef0a8d1b
Z 1:0d2164f0ce0d
- $ hg pull -B Y
+ $ hg update -r Y
+ 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ (activating bookmark Y)
+ $ hg pull -B .
pulling from http://localhost:$HGPORT/
searching for changes
adding changesets
@@ -376,9 +382,9 @@ Update a bookmark right after the initia
updating bookmark Y
(run 'hg update' to get a working copy)
$ hg book
- * @ 1:0d2164f0ce0d
+ @ 1:0d2164f0ce0d
X 1:0d2164f0ce0d
- Y 5:35d1ef0a8d1b
+ * Y 5:35d1ef0a8d1b
Z 1:0d2164f0ce0d
(done with this section of the test)
More information about the Mercurial-devel
mailing list