Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Jan 2016 21:01:06 -0800] rev 27751
changegroup: hide packermap behind methods
This is to prepare for hiding changegroup3 behind a config option.
Matt Mackall <mpm@selenic.com> [Wed, 13 Jan 2016 15:47:37 -0600] rev 27750
merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Jan 2016 13:10:31 -0800] rev 27749
context: check for differing flags a little earlier
This makes it clearer that a unchanged file whose flags have changed
will be reported as a modification. Also test this.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Jan 2016 13:09:54 -0800] rev 27748
context: clarify why we don't compare file contents when nodeid differs
See previous commit for timing information.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Jan 2016 12:43:36 -0800] rev 27747
status: back out changeset 89f49813526c
This backs out 89f49813526c (status: change + back out == clean (API),
2016-01-04). Although correct, it turned out that it was just too
slow. For example, 'hg status --rev .~1000 --rev .' on the Mozilla
repo went from <1s to >30s on cold disk. So we go back to reporting
reverted changes as modified instead of clean. These are rare anyway,
as suggested by the fact that it had been broken since before
Mercurial 2.0.
Laurent Charignon <lcharignon@fb.com> [Tue, 12 Jan 2016 13:43:41 -0800] rev 27746
rebase: prevent creating divergence
Before this patch rebase would create divergence when you were rebasing obsolete
changesets on a destination not containing one of its successors.
This patch introduces rebase.allowdivergence to explicitly allow
divergence creation with rebase.
Laurent Charignon <lcharignon@fb.com> [Wed, 06 Jan 2016 12:55:56 -0800] rev 27745
rebase: create a new variable to make the next patch more legible
Laurent Charignon <lcharignon@fb.com> [Wed, 06 Jan 2016 12:55:56 -0800] rev 27744
rebase: minor refactoring of _computeobsoletenotrebased
This patch is a refactoring of the code skipping obsolete changesets already
present in destination. It makes the following patches more legible.
Instead of passing all the revs to be rebased to _computeobsoletenotrebased,
we only pass the obsolete revisions of the rebaseset.
Matt Harbison <matt_harbison@yahoo.com> [Wed, 13 Jan 2016 00:09:26 -0500] rev 27743
test-status: stabilize for no-execbit platforms
The preceding #if conditional was the only modification to the file, so the
"reverting file" line in the subsequent revert command was getting dropped.
Siddharth Agarwal <sid0@fb.com> [Tue, 12 Jan 2016 18:38:49 -0800] rev 27742
merge: split up checks for unknown and ignored files that differ
In some real-world cases it is preferable to allow overwriting ignored files
while continuing to abort on unknown files. This primarily happens when we're
replacing build artifacts (which are ignored) with checked in files, but
continuing to abort on differing files that aren't ignored.
We're redefining merge.checkunknown to only control the behavior for files
that aren't ignored. That's fine because this config was only very recently
introduced and has not made its way into any Mercurial releases yet.