From dff7c6f3be09c01197cc90e5a6e5589b1565ff12 Mon Sep 17 00:00:00 2001
From: Petr Stodulka <pstodulk@redhat.com>
Date: Mon, 28 Nov 2016 22:59:55 +0100
Subject: [PATCH 1/2] Avoid deprecated bookmarks.write()
The method has been deprecated and removed in mercurial v3.6.
---
git-remote-hg | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/git-remote-hg b/git-remote-hg
index 87dc8f3..1749d43 100755
--- a/git-remote-hg
+++ b/git-remote-hg
@@ -373,10 +373,23 @@ def updatebookmarks(repo, peer):
for k, v in remotemarks.iteritems():
localmarks[k] = hgbin(v)
- if hasattr(localmarks, 'write'):
- localmarks.write()
+ if check_version(3, 6):
+ lock = tr = None
+ try:
+ lock = repo.lock()
+ tr = repo.transaction('bookmark')
+ localmarks.recordchange(tr)
+ tr.close()
+ finally:
+ if tr is not None:
+ tr.release()
+ if lock is not None:
+ lock.release()
else:
- bookmarks.write(repo)
+ if hasattr(localmarks, 'write'):
+ localmarks.write()
+ else:
+ bookmarks.write(repo)
def get_repo(url, alias):
global peer
--
2.5.5