Mercurial > hg
diff mercurial/hg.py @ 13604:3f6a4579f803
hg: add support for cloning bookmarks
author | David Soria Parra <dsp@php.net> |
---|---|
date | Sun, 13 Mar 2011 12:24:17 +0100 |
parents | 0d1dca7d2a04 |
children | 4f5ed2bd1724 |
line wrap: on
line diff
--- a/mercurial/hg.py Sat Mar 12 18:29:02 2011 +0100 +++ b/mercurial/hg.py Sun Mar 13 12:24:17 2011 +0100 @@ -9,7 +9,7 @@ from i18n import _ from lock import release from node import hex, nullid, nullrev, short -import localrepo, bundlerepo, httprepo, sshrepo, statichttprepo +import localrepo, bundlerepo, httprepo, sshrepo, statichttprepo, bookmarks import lock, util, extensions, error, encoding, node import cmdutil, discovery, url import merge as mergemod @@ -366,6 +366,21 @@ dest_repo.ui.status(_("updating to branch %s\n") % bn) _update(dest_repo, uprev) + # clone all bookmarks + if dest_repo.local() and src_repo.capable("pushkey"): + rb = src_repo.listkeys('bookmarks') + for k, n in rb.iteritems(): + try: + m = dest_repo.lookup(n) + dest_repo._bookmarks[k] = m + except: + pass + if rb: + bookmarks.write(dest_repo) + elif src_repo.local() and dest_repo.capable("pushkey"): + for k, n in src_repo._bookmarks.iteritems(): + dest_repo.pushkey('bookmarks', k, '', hex(n)) + return src_repo, dest_repo finally: release(src_lock, dest_lock)