Martin von Zweigbergk <martinvonz@google.com> [Mon, 29 Apr 2019 14:38:54 -0700] rev 42251
tests: add test where copy source is deleted and added back
This shows another difference between pathcopies() and mergecopies():
mergecopies() considers files that have been deleted and then added
back as different files, but pathcopies() does not.
Differential Revision: https://phab.mercurial-scm.org/D6330
Augie Fackler <augie@google.com> [Wed, 01 May 2019 14:30:25 -0400] rev 42250
merge with stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 29 Apr 2019 23:00:42 -0400] rev 42249
obsolete: drop the legacy `_enabled` variable
Evolve 8.5.0 stopped setting this, and it would have been easier to figure out
why TortoiseHg stopped allowing amends if it would have crashed on the missing
variable.
Pulkit Goyal <pulkit@yandex-team.ru> [Sat, 27 Apr 2019 14:43:43 +0300] rev 42248
discovery: only calculate closed branches if required
The number of new closed branches is required for printing in error message. So
let's only calculate them if we need to print error about new branches.
Differential Revision: https://phab.mercurial-scm.org/D6314
Pulkit Goyal <pulkit@yandex-team.ru> [Sat, 27 Apr 2019 02:13:43 +0300] rev 42247
branchcache: store the maximum tip in a variable inside for loop
Instead of assigning self.tiprev multiple times in the for loop, and calling
cl.node() on it, let's store that in a temporary variable and assign it in the
end of loop.
Differential Revision: https://phab.mercurial-scm.org/D6311
Martin von Zweigbergk <martinvonz@google.com> [Sat, 27 Apr 2019 23:30:19 -0700] rev 42246
tests: demonstrate that rename is followed to wrong parent from merge
This test case shows another way that copies are handled differently
between `hg st` (pathcopies()) and `hg co -m` (mergecopies). The
reason is that pathcopies() calls _tracefiles(), which checks that the
file nodeid of an ancestor matches the file nodeid in the base
commit. mergecopies() should probably be doing the same.
Differential Revision: https://phab.mercurial-scm.org/D6323
Martin von Zweigbergk <martinvonz@google.com> [Sat, 27 Apr 2019 23:14:49 -0700] rev 42245
test: demonstrate failure to follow rename with shadowed linkrev
This shows a difference in handling of copies between `hg st`
(pathcopies()) and `hg co -m`. The issue here is that mergecopies()
uses the unadjusted linkrev() for determining when to stop walking
ancestors.
Differential Revision: https://phab.mercurial-scm.org/D6322
Martin von Zweigbergk <martinvonz@google.com> [Sat, 27 Apr 2019 22:57:15 -0700] rev 42244
tests: slightly modify a linkrev test to prepare for expanding it
The test case checks that the copy tracing code doesn't get confused
by linkrevs when walking a file's ancestors. This patch chnages the
test slightly so a second commit is grafted, thus producing a second
"bad" linkrev. I'll use this in the next patch to demonstrate a bug.
Differential Revision: https://phab.mercurial-scm.org/D6321
Martin von Zweigbergk <martinvonz@google.com> [Sat, 27 Apr 2019 22:55:54 -0700] rev 42243
copies: process files in deterministic order for stable tests
I also fixed a typo while at it.
Differential Revision: https://phab.mercurial-scm.org/D6320
Ludovic Chabant <ludovic@chabant.com> [Fri, 19 Apr 2019 14:26:32 +0000] rev 42242
py3: properly reject non-encoded strings given to hgweb