Mercurial > hg
comparison 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 |
comparison
equal
deleted
inserted
replaced
13603:395a84f78736 | 13604:3f6a4579f803 |
---|---|
7 # GNU General Public License version 2 or any later version. | 7 # GNU General Public License version 2 or any later version. |
8 | 8 |
9 from i18n import _ | 9 from i18n import _ |
10 from lock import release | 10 from lock import release |
11 from node import hex, nullid, nullrev, short | 11 from node import hex, nullid, nullrev, short |
12 import localrepo, bundlerepo, httprepo, sshrepo, statichttprepo | 12 import localrepo, bundlerepo, httprepo, sshrepo, statichttprepo, bookmarks |
13 import lock, util, extensions, error, encoding, node | 13 import lock, util, extensions, error, encoding, node |
14 import cmdutil, discovery, url | 14 import cmdutil, discovery, url |
15 import merge as mergemod | 15 import merge as mergemod |
16 import verify as verifymod | 16 import verify as verifymod |
17 import errno, os, shutil | 17 import errno, os, shutil |
364 continue | 364 continue |
365 bn = dest_repo[uprev].branch() | 365 bn = dest_repo[uprev].branch() |
366 dest_repo.ui.status(_("updating to branch %s\n") % bn) | 366 dest_repo.ui.status(_("updating to branch %s\n") % bn) |
367 _update(dest_repo, uprev) | 367 _update(dest_repo, uprev) |
368 | 368 |
369 # clone all bookmarks | |
370 if dest_repo.local() and src_repo.capable("pushkey"): | |
371 rb = src_repo.listkeys('bookmarks') | |
372 for k, n in rb.iteritems(): | |
373 try: | |
374 m = dest_repo.lookup(n) | |
375 dest_repo._bookmarks[k] = m | |
376 except: | |
377 pass | |
378 if rb: | |
379 bookmarks.write(dest_repo) | |
380 elif src_repo.local() and dest_repo.capable("pushkey"): | |
381 for k, n in src_repo._bookmarks.iteritems(): | |
382 dest_repo.pushkey('bookmarks', k, '', hex(n)) | |
383 | |
369 return src_repo, dest_repo | 384 return src_repo, dest_repo |
370 finally: | 385 finally: |
371 release(src_lock, dest_lock) | 386 release(src_lock, dest_lock) |
372 if dir_cleanup is not None: | 387 if dir_cleanup is not None: |
373 dir_cleanup.cleanup() | 388 dir_cleanup.cleanup() |