[PATCH 0 of 4 STABLE V2] fix problems around invocation of findcommonoutgoing/findcommonincoming
FUJIWARA Katsunori
foozy at lares.dti.ne.jp
Tue Apr 9 15:05:02 UTC 2013
This patch series focuses on fixing problems around invocation of
"discovery.findcommonincoming()" and "discovery.findcommonoutgoing()"
for URL with branch.
In fact, there are still problematic "discovery.findcommonoutgoing()"
invocations without "onlyheads" in largefiles extension.
But current implementation of largefiles works correctly, because it
eliminates revisions other than ones on specified branch in URL by
applying "revlog.nodesbetween()" on the result of
"discovery.findcommonoutgoing()" invocation without "onlyheads".
So, I'm planning another patch series for "default" branch to fix
inefficiency of current largefiles in points below.
- according to amount of code, "revlog.nodesbetween()" seems to be
more expensive than "revlog.findcommonmissing()", which is invoked
from "discovery.findcommonoutgoing()" if it is invoked with
"onlyheads"
- "discovery.findcommonoutgoing()" is invoked twice for each looking
up/pushing changes, if largefiles is enabled
in "hg push" case, it is invoked from "lfilesrepo.push()" and
"localrepository.push()", for example
More information about the Mercurial-devel
mailing list