Show More
@@ -89,9 +89,11 b' class MercurialChangeset(BaseChangeset):' | |||
|
89 | 89 | @LazyProperty |
|
90 | 90 | def successors(self): |
|
91 | 91 | try: |
|
92 | # This works starting from Mercurial 4.3: the function `successorssets` was moved to the mercurial.obsutil module and gained the `closest` parameter. | |
|
92 | 93 | from mercurial import obsutil |
|
93 | successors = obsutil.successorssets(self._ctx._repo, self._ctx.node()) | |
|
94 | except ImportError: # moved in Mercurial 4.3 (4f49810a1011) | |
|
94 | successors = obsutil.successorssets(self._ctx._repo, self._ctx.node(), closest=True) | |
|
95 | except ImportError: | |
|
96 | # fallback for older versions | |
|
95 | 97 | successors = obsolete.successorssets(self._ctx._repo, self._ctx.node()) |
|
96 | 98 | if successors: |
|
97 | 99 | # flatten the list here handles both divergent (len > 1) |
@@ -102,17 +104,19 b' class MercurialChangeset(BaseChangeset):' | |||
|
102 | 104 | |
|
103 | 105 | @LazyProperty |
|
104 | 106 | def predecessors(self): |
|
105 | predecessors = set() | |
|
106 | nm = self._ctx._repo.changelog.nodemap | |
|
107 | 107 | try: |
|
108 | raw_predecessors = self._ctx._repo.obsstore.predecessors | |
|
109 | except AttributeError: # renamed in Mercurial 4.4 (d5acd967f95a) | |
|
110 | raw_predecessors = self._ctx._repo.obsstore.precursors | |
|
111 | for p in raw_predecessors.get(self._ctx.node(), ()): | |
|
112 | pr = nm.get(p[0]) | |
|
113 | if pr is not None: | |
|
114 | predecessors.add(hex(p[0])[:12]) | |
|
115 | return predecessors | |
|
108 | # This works starting from Mercurial 4.3: the function `closestpredecessors` was added. | |
|
109 | from mercurial import obsutil | |
|
110 | return [hex(n)[:12] for n in obsutil.closestpredecessors(self._ctx._repo, self._ctx.node())] | |
|
111 | except ImportError: | |
|
112 | # fallback for older versions | |
|
113 | predecessors = set() | |
|
114 | nm = self._ctx._repo.changelog.nodemap | |
|
115 | for p in self._ctx._repo.obsstore.precursors.get(self._ctx.node(), ()): | |
|
116 | pr = nm.get(p[0]) | |
|
117 | if pr is not None: | |
|
118 | predecessors.add(hex(p[0])[:12]) | |
|
119 | return predecessors | |
|
116 | 120 | |
|
117 | 121 | @LazyProperty |
|
118 | 122 | def bookmarks(self): |
General Comments 0
You need to be logged in to leave comments.
Login now