remote-hg: update bookmarks when using a remote

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Felipe Contreras committed May 24, 2013 at 21:29 UTC 731ce6cf75d304bc14c1ee0ad45e5846f5db6834
1 file changed +17
contrib/remote-helpers/git-remote-hg
+17
@@ -356,6 +356,21 @@ def fixup_user(user):
356
357 return '%s <%s>' % (name, mail)
358
359 +def updatebookmarks(repo, peer):
360 + remotemarks = peer.listkeys('bookmarks')
361 + localmarks = repo._bookmarks
362 +
363 + if not remotemarks:
364 + return
365 +
366 + for k, v in remotemarks.iteritems():
367 + localmarks[k] = hgbin(v)
368 +
369 + if hasattr(localmarks, 'write'):
370 + localmarks.write()
371 + else:
372 + bookmarks.write(repo)
373 +
374 def get_repo(url, alias):
375 global dirname, peer
376
@@ -394,6 +409,8 @@ def get_repo(url, alias):
409 die('Repository error')
410 repo.pull(peer, heads=None, force=True)
411
412 + updatebookmarks(repo, peer)
413 +
414 return repo
415
416 def rev_to_mark(rev):