changeset 7533:346b97cf1aaa

hg: make `predecessors` property of MercurialChangeset compatible with newer versions of Mercurial.
author Manuel Jacob <me@manueljacob.de>
date Tue, 19 Feb 2019 00:02:33 +0100
parents d1b07a8b2b00
children b06e1141f20f
files kallithea/lib/vcs/backends/hg/changeset.py kallithea/tests/vcs/test_hg.py
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/lib/vcs/backends/hg/changeset.py	Mon Feb 18 23:58:33 2019 +0100
+++ b/kallithea/lib/vcs/backends/hg/changeset.py	Tue Feb 19 00:02:33 2019 +0100
@@ -104,7 +104,11 @@
     def predecessors(self):
         predecessors = set()
         nm = self._ctx._repo.changelog.nodemap
-        for p in self._ctx._repo.obsstore.precursors.get(self._ctx.node(), ()):
+        try:
+            raw_predecessors = self._ctx._repo.obsstore.predecessors
+        except AttributeError:  # renamed in Mercurial 4.4 (d5acd967f95a)
+            raw_predecessors = self._ctx._repo.obsstore.precursors
+        for p in raw_predecessors.get(self._ctx.node(), ()):
             pr = nm.get(p[0])
             if pr is not None:
                 predecessors.add(hex(p[0])[:12])
--- a/kallithea/tests/vcs/test_hg.py	Mon Feb 18 23:58:33 2019 +0100
+++ b/kallithea/tests/vcs/test_hg.py	Tue Feb 19 00:02:33 2019 +0100
@@ -589,7 +589,6 @@
         init_chset = self.repo.get_changeset(0)
         assert init_chset.successors == []
 
-    @pytest.mark.xfail
     def test_predecessors(self):
         init_chset = self.repo.get_changeset(0)
         assert init_chset.predecessors == set([])