Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Feb 2016 10:34:31 +0100] rev 28238
test: update test-bundle2-format.t comment
Now that bundle2 is used by default for all exchanges, this comment is obviously
out of date. Having deep testing of the API and expected behavior of the format
and its processing is still valuable, so the comment is updated.
Jun Wu <quark@fb.com> [Wed, 24 Feb 2016 14:24:00 +0000] rev 28237
chg: extract gethgcmd logic to a function
gethgcmd is to get original hg (not chg) binary name. This patch extracts
the logic from execcmdserver to make it available for the following patch.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 24 Feb 2016 23:00:33 +0900] rev 28236
destutil: use cached branch information instead of query for efficiency
Before this patch, calculation of "the tipmost branch head on current
branch" uses revset query "max(.::(head() and branch(BRANCH)))", but
this isn't efficiency, because:
- head() predicate lists up heads on all branches, but
- branch() predicate eliminates heads on other branches
In addition to it, without "literal:" prefix for branch name,
branch(BRANCH) tries to (1) look up BRANCH in "repo.branchmap()" and
(2) look up BRANCH as symbol name again, if there is no branch
matching against BRANCH. The latter looking up is obviously redundant.
This patch uses repo.branchheads(closed=True) to get all branch heads
on specified branch instead of "head() and branch(BRANCH)" revset
query part.
This patch also makes catching RepoLookupError meaningless, because it
is only raised by revset predicate "branch()". But "currentbranch in
repo.branchmap()" can detect whether currentbranch actually exists or
not.
Therefore, this patch replaces try/except for RepoLookupError by
if/else for "currentbranch in repo.branchmap()".
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 24 Feb 2016 23:00:33 +0900] rev 28235
destutil: replace wc.branch() invocations by cached value for efficiency
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 24 Feb 2016 23:00:32 +0900] rev 28234
destutil: remove redundant examination
Before this patch, "len(heads) != len(otherheads)" is examined to
detect whether message should be displayed or not.
But if "repo.revs('%ln and parents()', heads)", heads should contain
"parents()" and otherheads is always less than heads.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 24 Feb 2016 23:00:32 +0900] rev 28233
destutil: add new local variable to increase readability
Before this patch, local variable 'heads' is used not only for "all
branch heads" but also for "branch heads other than current parent".
This patch newly adds local variable 'otherheads' for the latter
purpose, to increase readability.