[PATCH 6 of 6 remotenames-ext] selectivepull: support list of default bookmarks
Stanislau Hlebik
stash at fb.com
Mon Jan 30 10:56:04 EST 2017
# HG changeset patch
# User Stanislau Hlebik <stash at fb.com>
# Date 1485791649 28800
# Mon Jan 30 07:54:09 2017 -0800
# Node ID 227796849698292c76c70e874179de52b7b688d6
# Parent a96117003c763be640a975d8128068d2bd3527c0
selectivepull: support list of default bookmarks
The addition is that we now support list of default bookmarks, instead of a
single default bookmark (the previous behavior).
diff --git a/remotenames.py b/remotenames.py
--- a/remotenames.py
+++ b/remotenames.py
@@ -81,14 +81,19 @@
return ui.configbool('remotenames', 'selectivepull', False)
def _getselectivepulldefaultbookmarks(ui, remotebookmarks):
- default_book = ui.config('remotenames', 'selectivepulldefault')
- if not default_book:
- raise error.Abort(_('no default bookmark specified for selectivepull'))
- if default_book in remotebookmarks:
- return {default_book: remotebookmarks[default_book]}
- else:
+ default_books = ui.configlist('remotenames', 'selectivepulldefault')
+ if not default_books:
+ raise error.Abort(_('no default bookmarks specified for selectivepull'))
+
+ result = {}
+ for default_book in default_books:
+ if default_book in remotebookmarks:
+ result[default_book] = remotebookmarks[default_book]
+
+ if not default_books:
raise error.Abort(
- _('default bookmark %s is not found on remote') % default_book)
+ _('default bookmarks %s are not found on remote') % default_books)
+ return result
def _trypullremotebookmark(mayberemotebookmark, repo, ui):
ui.warn(_('`%s` not found: assuming it is a remote bookmark '
diff --git a/tests/test-selective-pull.t b/tests/test-selective-pull.t
--- a/tests/test-selective-pull.t
+++ b/tests/test-selective-pull.t
@@ -227,3 +227,14 @@
$ hg pull -q
$ hg book --remote
default/master 2:0238718db2b1
+
+Set two bookmarks in selectivepulldefault, make sure both of them were pulled
+ $ cat >> .hg/hgrc << EOF
+ > [remotenames]
+ > selectivepulldefault=master,thirdbook
+ > EOF
+ $ rm .hg/selectivepullenabled
+ $ hg pull -q
+ $ hg book --remote
+ default/master 2:0238718db2b1
+ default/thirdbook 0:1449e7934ec1
More information about the Mercurial-devel
mailing list