This revision was automatically updated to reflect the committed changes. Closed by commit rHG81d35d5d35f9: bookmarks: introduce a repo._bookmarks.changectx(mark) method and use it (authored by martinvonz, committed by ).
REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D3162?vs=7818&id=7856 REVISION DETAIL https://phab.mercurial-scm.org/D3162 AFFECTED FILES mercurial/bookmarks.py CHANGE DETAILS diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py --- a/mercurial/bookmarks.py +++ b/mercurial/bookmarks.py @@ -119,6 +119,9 @@ def update(self, *others): raise error.ProgrammingError("use 'bookmarks.applychanges' instead") + def changectx(self, mark): + return self._repo[self[mark]] + def applychanges(self, repo, tr, changes): """Apply a list of changes to bookmarks """ @@ -212,8 +215,8 @@ return [] rev = self._repo[target].rev() anc = self._repo.changelog.ancestors([rev]) - bmctx = self._repo[self[mark]] - divs = [self._repo[b].node() for b in self + bmctx = self.changectx(mark) + divs = [self[b] for b in self if b.split('@', 1)[0] == mark.split('@', 1)[0]] # allow resolving a single divergent bookmark even if moving @@ -370,11 +373,11 @@ bmchanges = [] if marks[active] in parents: new = repo[node] - divs = [repo[b] for b in marks + divs = [marks.changectx(b) for b in marks if b.split('@', 1)[0] == active.split('@', 1)[0]] anc = repo.changelog.ancestors([new.rev()]) deletefrom = [b.node() for b in divs if b.rev() in anc or b == new] - if validdest(repo, repo[marks[active]], new): + if validdest(repo, marks.changectx(active), new): bmchanges.append((active, new.node())) for bm in divergent2delete(repo, deletefrom, active): To: martinvonz, #hg-reviewers, indygreg Cc: indygreg, mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel