Mercurial > hg > mercurial-source
changeset 43765:e3bb2a58af1e
bookmarks: remove changectx() method from bmstore (API)
All the callsites of this method have access to the repo, and I'd
rather not have to duplicate this across alternative bmstore
implementations. Besides, it feels like a bit of a layering violation.
.. api::
`mercurial.bookmarks.bmstore` no longer has a convenience method
for looking up changectx instances from a bookmark name. Use
`repo[repo.bookmarks[name]]` intead of
`repo.bookmarks.changectx(name)`.
Differential Revision: https://phab.mercurial-scm.org/D6884
author | Augie Fackler <augie@google.com> |
---|---|
date | Wed, 25 Sep 2019 17:57:16 -0400 |
parents | 699102b10530 |
children | b4093d1d3b18 |
files | hgext/infinitepush/bundleparts.py mercurial/bookmarks.py mercurial/discovery.py |
diffstat | 3 files changed, 6 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/infinitepush/bundleparts.py +++ b/hgext/infinitepush/bundleparts.py @@ -12,6 +12,7 @@ changegroup, error, extensions, + node as nodemod, revsetlang, util, ) @@ -48,7 +49,7 @@ params['bookprevnode'] = '' bookmarks = repo._bookmarks if bookmark in bookmarks: - params['bookprevnode'] = bookmarks.changectx(bookmark).hex() + params['bookprevnode'] = nodemod.hex(bookmarks[bookmark]) # Do not send pushback bundle2 part with bookmarks if remotenames extension # is enabled. It will be handled manually in `_push()`
--- a/mercurial/bookmarks.py +++ b/mercurial/bookmarks.py @@ -177,10 +177,6 @@ """Return a sorted list of bookmarks pointing to the specified node""" return self._nodemap.get(node, []) - def changectx(self, mark): - node = self._refmap[mark] - return self._repo[node] - def applychanges(self, repo, tr, changes): """Apply a list of changes to bookmarks """ @@ -271,7 +267,7 @@ return [] rev = self._repo[target].rev() anc = self._repo.changelog.ancestors([rev]) - bmctx = self.changectx(mark) + bmctx = self._repo[self[mark]] divs = [self._refmap[b] for b in self._refmap if b.split('@', 1)[0] == mark.split('@', 1)[0]] @@ -412,11 +408,11 @@ bmchanges = [] if marks[active] in parents: new = repo[node] - divs = [marks.changectx(b) for b in marks + divs = [repo[marks[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, marks.changectx(active), new): + if validdest(repo, repo[marks[active]], new): bmchanges.append((active, new.node())) for bm in divergent2delete(repo, deletefrom, active):
--- a/mercurial/discovery.py +++ b/mercurial/discovery.py @@ -301,7 +301,7 @@ for bm in localbookmarks: rnode = remotebookmarks.get(bm) if rnode and rnode in repo: - lctx, rctx = localbookmarks.changectx(bm), repo[rnode] + lctx, rctx = repo[localbookmarks[bm]], repo[rnode] if bookmarks.validdest(repo, rctx, lctx): bookmarkedheads.add(lctx.node()) else: