Blob Blame History Raw
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