Mercurial > hg
changeset 19325:ec896f9e8894
changegroup: fix fastpath during commit
Change 627cd7842e5d dropped the 'revset' variable which kept track of
which changesets were being bundled. Instead, it used "not in
commonset" to decide which changesets were outgoing.. which ran into
trouble when a commit was in progress.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 19 Jun 2013 14:17:03 -0500 |
parents | ad0d8158cefd |
children | 7014526d67a8 |
files | mercurial/changegroup.py |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/changegroup.py Wed Jun 05 22:41:53 2013 +0200 +++ b/mercurial/changegroup.py Wed Jun 19 14:17:03 2013 -0500 @@ -364,10 +364,11 @@ if fastpathlinkrev: ln, llr = filerevlog.node, filerevlog.linkrev + needed = set(cl.rev(x) for x in clnodes) def genfilenodes(): for r in filerevlog: linkrev = llr(r) - if linkrev not in commonrevs: + if linkrev in needed: yield filerevlog.node(r), cl.node(linkrev) fnodes[fname] = dict(genfilenodes())