Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 24 Jun 2014 16:53:22 +0100] rev 22188
revert: use "remove" information from both statuses
Using status information against the target to make sure we are catching all
files that need to be re-added.
We still need to distinguish fresh removal because they use a different
message.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 01 Aug 2014 18:27:47 -0700] rev 22187
revert: process removed files missing in target as clean
If a file does not exist in target and is marked as removed in the dirstate, we
can mark it as clean. There are no changes needed to revert it.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 31 Jul 2014 15:52:56 -0700] rev 22186
revert: also track clean files
Tracking clean files is the simplest way to be able to reports files that need
no changes. So we explicitly retrieve them.
This fixes a couple of test outputs where the lack of changes was not reported.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 01 Aug 2014 18:57:53 -0700] rev 22185
revert: triage "deleted" files into more appropriate categories
Status can return file as "deleted". This is only a special case
related to working directory state: file is recorded as tracked but no
file exists on disk. This will never be a state obtainable from
manifest comparisons.
"Deleted" files have another working directory status shadowed by the lack of
file. They will -alway- be touched by revert. The "lack of file" can be seen as
a modification. The file will never match the same "content" as in the revert
target. From there we have two options:
1. The file exists in the target and can be seen as "modified".
2. The file does not exist in the target and can be seen as "added".
So now we just dispatch elements from delete into appropriate categories.
Matt Mackall <mpm@selenic.com> [Fri, 15 Aug 2014 10:54:15 -0500] rev 22184
unshelve: silence internal revert
This prepares for upcoming revert changes.
Matt Mackall <mpm@selenic.com> [Fri, 15 Aug 2014 10:47:03 -0500] rev 22183
tests: fixup issue markers to make check-commit happy
Mads Kiilerich <madski@unity3d.com> [Fri, 15 Aug 2014 03:24:40 +0200] rev 22182
incoming: don't request heads that already are common
Pull would send a getbundle command where common heads were sent both as common
and head, even though there is no reason to request a common head.
The request was thus twice as big as necessary and more likely to hit HTTP
header size limits.
Instead, don't request heads that already are common.
This is fixed in bundlerepo.getremotechanges . It could perhaps also have been
fixed in discovery.findcommonincoming but that would have a bigger impact.
Mads Kiilerich <madski@unity3d.com> [Fri, 15 Aug 2014 03:24:40 +0200] rev 22181
tests: improve test coverage for discovery and actual parameters for pulling
Mads Kiilerich <madski@unity3d.com> [Fri, 15 Aug 2014 02:46:44 +0200] rev 22180
changectx: ancestor should only prefer merge.preferancestor if it is a revision
The value '*' currently designates that bid merge should be used. The best
way to test bid merge is to set preferancestor=* in the configuration file ...
but then it would abort with unknown revision '*' when other code paths ended
up in changectx.ancestor .
Instead, just skip and ignore the value '*' when looking for a preferred
ancestor.
Mads Kiilerich <madski@unity3d.com> [Fri, 15 Aug 2014 02:39:01 +0200] rev 22179
merge: show the scary multiple ancestor hint for merges only, not for updates
Updates with uncommited changes will always only have one ancestor - the parent
revision. Updates between existing revision should (and will) always give the
same result no matter which ancestor is used. The warning is thus only relevant
when doing a "real" merge.