cleanup: use repo['.'] instead of repo[None].p1()
Differential Revision: https://phab.mercurial-scm.org/D5707
cleanup: use p1() and p2() instead of parents()[0] and parents()[1]
We have had these methods on both contexts and dirstate for a long
time now.
Differential Revision: https://phab.mercurial-scm.org/D5706
branchmap: rename partial -> bcache
The name better reflects that we have a branchcache object here, even if at
*some point* it is still being constructed.
Differential Revision: https://phab.mercurial-scm.org/D5290
context: delete mistaken comment about return value of renamed()
The comment seems to think that the return value of renamed() is a
tuple of source pathsx in the parents, but it's actually a pair of
(rename source path, file nodeid).
Differential Revision: https://phab.mercurial-scm.org/D5639
copies: get working copy parents from wctx, not dirstate, to make in-mem work
Before this patch, `run-tests.py test-rebase-conflicts.t
--extra-config-opt rebase.experimental.inmemory=1` would have some
lines that say "searching for copies back to rev 3" changed to
"... rev 1". I don't know of a better way of testing this patch than
doing that manually. There are many other differences, so we're not
ready to use #testcases syntax on the entire test-rebase-conflicts.t
yet.
Differential Revision: https://phab.mercurial-scm.org/D5596
copies: pass contexts into _findlimit()
Just a little refactoring to make the next patch simpler.
Differential Revision: https://phab.mercurial-scm.org/D5595
copies: consider nullrev a common ancestor
I've seen many bugs in the git codebase that were caused by it not
having a null revision and being forced to treat root commits
differently. Mercurial has a null revision and I think it's generally
a bug to treat it differently from other commits in graph algorithms.
This effectively undoes
83cfa1baf8ad (copies: don't report copies with
unrelated branch, 2010-01-01). The test cases that that commit added
still passes. I suspect some other fix after that commit made it
unnecessary.
Differential Revision: https://phab.mercurial-scm.org/D5594
unshare: use context manager for locks
Differential Revision: https://phab.mercurial-scm.org/D5695