Yuya Nishihara <yuya@tcha.org> [Thu, 22 Sep 2016 17:48:46 +0900] rev 35281
dagop: yield intro filectx by filectxancestors()
This is the convention of dagop.*ancestors() functions.
Yuya Nishihara <yuya@tcha.org> [Sun, 22 Oct 2017 17:23:34 +0900] rev 35280
filectx: extract helper method to obtain filectx pointing to its introrev
Yuya Nishihara <yuya@tcha.org> [Thu, 22 Sep 2016 17:16:53 +0900] rev 35279
dagop: copy basefilectx.ancestors() to free function
The primary goal of this series is to make follow() support multiple start
revisions.
dagop.filectxancestors() will be extended to take multiple filectxs.
basefilectx.ancestors() is not forwarded to this function because doing that
would resurrect the performance issue fixed by 24b57c3899f8.
Yuya Nishihara <yuya@tcha.org> [Thu, 22 Sep 2016 15:52:09 +0900] rev 35278
test-log: test that fctx.ancestors() can't index parents only by linkrev
This covers a possible bug that could be caused by the following change:
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -1047,7 +1047,7 @@ class basefilectx(object):
while True:
for parent in c.parents()[:cut]:
- visit[(parent.linkrev(), parent.filenode())] = parent
+ visit[parent.linkrev()] = parent
if not visit:
break
c = visit.pop(max(visit))
Boris Feld <boris.feld@octobus.net> [Tue, 17 Oct 2017 15:27:22 +0200] rev 35277
pull: retrieve bookmarks through the binary part when possible
This makes pull consistent with the part used by push and provide us with a
more compact representation of bookmarks.
In addition, this opens the way for smarter bookmark exchanges (e.g. filtering
by names or only sending the bookmark relevant to the pulled set, etc).
Boris Feld <boris.feld@octobus.net> [Tue, 17 Oct 2017 15:27:17 +0200] rev 35276
getbundle: add support for 'bookmarks' boolean argument
This new argument requests a 'bookmarks' part from the server. It is meant to
be used instead of the "listkeys" request.
Boris Feld <boris.feld@octobus.net> [Tue, 17 Oct 2017 15:26:16 +0200] rev 35275
bundle2: support a 'records' mode for the 'bookmarks' part
In this mode, the bookmarks changes are record in the 'bundleoperation' records
instead of inflicted to the repository. This is necessary to use the part when
pulling.