[PATCH V2] share: replace the bookmarks.shared file with an entry on a new shared.conf file
Angel Ezquerra
angel.ezquerra at gmail.com
Fri Jan 16 00:06:14 UTC 2015
# HG changeset patch
# User Angel Ezquerra <angel.ezquerra at gmail.com>
# Date 1420989615 -3600
# Sun Jan 11 16:20:15 2015 +0100
# Node ID c27f32292a336faa5d0a6887360217dd0e67136a
# Parent dc6d8a8243f3096d6eb2800ef18f300a2d9d54e1
share: replace the bookmarks.shared file with an entry on a new shared.conf file
cd79fb4d75fd introduced a way to share bookmarks. When a repository share that
shares bookmarks was created, a .hg/bookmarks.shared file was created to mark
the repository share as one that shares its bookmarks.
We have plans to introduce other levels of sharing, including a "full share"
mode. Rather than creating a new ".shared" file for each new thing that we may
want to share It seems better to create a single "shared" file that will list
what is shared for a given shared repository. This should make it much easier
to get a list of everything that is shared by a given shared repository.
The shared file contains a list of shared "items" (such as bookmarks). Each
shared "item" is added as a new line in the file. For now the only possible
entry in the file is "bookmarks".
diff --git a/hgext/share.py b/hgext/share.py
--- a/hgext/share.py
+++ b/hgext/share.py
@@ -78,13 +78,15 @@
def _hassharedbookmarks(repo):
"""Returns whether this repo has shared bookmarks"""
+ if not repo.vfs.exists('shared'):
+ return False
try:
- repo.vfs.read('bookmarks.shared')
+ shared = repo.vfs.read('shared').splitlines()
return True
except IOError, inst:
if inst.errno != errno.ENOENT:
raise
- return False
+ return 'bookmarks' in shared
def _getsrcrepo(repo):
"""
diff --git a/mercurial/hg.py b/mercurial/hg.py
--- a/mercurial/hg.py
+++ b/mercurial/hg.py
@@ -226,7 +226,9 @@
_update(r, uprev)
if bookmarks:
- r.vfs('bookmarks.shared', 'w').close()
+ fp = r.vfs('shared', 'w')
+ fp.write('bookmarks\n')
+ fp.close()
def copystore(ui, srcrepo, destpath):
'''copy files from store of srcrepo in destpath
More information about the Mercurial-devel
mailing list