Mercurial > public > mercurial-scm > hg-stable
diff mercurial/exchange.py @ 35276:cb4dcd7fabe7
getbundle: add support for 'bookmarks' boolean argument
This new argument requests a 'bookmarks' part from the server. It is meant to
be used instead of the "listkeys" request.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Tue, 17 Oct 2017 15:27:17 +0200 |
parents | a1e70c1dbec0 |
children | 44b8b5ad30eb |
line wrap: on
line diff
--- a/mercurial/exchange.py Tue Oct 17 15:26:16 2017 +0200 +++ b/mercurial/exchange.py Tue Oct 17 15:27:17 2017 +0200 @@ -1755,6 +1755,19 @@ if 'treemanifest' in repo.requirements: part.addparam('treemanifest', '1') +@getbundle2partsgenerator('bookmarks') +def _getbundlebookmarkpart(bundler, repo, source, bundlecaps=None, + b2caps=None, **kwargs): + """add a bookmark part to the requested bundle""" + if not kwargs.get('bookmarks', False): + return + if 'bookmarks' not in b2caps: + raise ValueError(_('no common bookmarks exchange method')) + books = bookmod.listbinbookmarks(repo) + data = bookmod.binaryencode(books) + if data: + bundler.newpart('bookmarks', data=data) + @getbundle2partsgenerator('listkeys') def _getbundlelistkeysparts(bundler, repo, source, bundlecaps=None, b2caps=None, **kwargs):