Skip to content
Snippets Groups Projects
Commit 2fad18f1 authored by Matt Mackall's avatar Matt Mackall
Browse files

bookmarks: shadow divergent bookmarks of foo with foo@n

parent 6f2eee68
No related branches found
No related tags found
No related merge requests found
......@@ -155,7 +155,9 @@
d = {}
for k, v in marks.iteritems():
d[k] = hex(v)
# don't expose local divergent bookmarks
if '@' not in k and not k.endswith('@'):
d[k] = hex(v)
return d
def pushbookmark(repo, key, old, new):
......@@ -192,8 +194,14 @@
changed = True
ui.status(_("updating bookmark %s\n") % k)
else:
ui.warn(_("not updating divergent"
" bookmark %s\n") % k)
for x in range(1, 100):
n = '%s@%d' % (k, x)
if n not in repo._bookmarks:
break
repo._bookmarks[n] = cr.node()
changed = True
ui.warn(_("divergent bookmark %s stored as %s\n") % (k, n))
if changed:
write(repo)
......
......@@ -117,7 +117,7 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
not updating divergent bookmark X
divergent bookmark X stored as X@1
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg book
* X 1:9b140be10808
......@@ -121,6 +121,7 @@
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg book
* X 1:9b140be10808
X@1 2:0d2164f0ce0d
Y 0:4e3505fd9583
foo -1:000000000000
foobar -1:000000000000
......@@ -175,7 +176,7 @@
$ hg pull -B Z http://localhost:$HGPORT/
pulling from http://localhost:$HGPORT/
no changes found
not updating divergent bookmark X
divergent bookmark X stored as X@1
importing bookmark Z
$ hg clone http://localhost:$HGPORT/ cloned-bookmarks
requesting all changes
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment