Skip to content
Snippets Groups Projects
Commit 10bb0856bb9f authored by Pierre-Yves David's avatar Pierre-Yves David :octopus:
Browse files

copies-rust: pre-indent some code to clarify the next patch

The next patch will need this new indentation, having it done explicitly
beforehand makes that next patch clearer.

Differential Revision: https://phab.mercurial-scm.org/D9305
parent ed0e1339e4a8
No related branches found
No related tags found
No related merge requests found
......@@ -321,34 +321,4 @@
// We cannot get copy information for both p1 and p2 in the
// same rev. So this is the same value.
unreachable!();
} else if src_major.path.is_none()
&& changes.salvaged.contains(dest)
{
// If the file is "deleted" in the major side but was
// salvaged by the merge, we keep the minor side alive
pick_minor();
} else if src_minor.path.is_none()
&& changes.salvaged.contains(dest)
{
// If the file is "deleted" in the minor side but was
// salvaged by the merge, unconditionnaly preserve the
// major side.
pick_major();
} else if changes.merged.contains(dest) {
// If the file was actively merged, copy information from
// each side might conflict. The major side will win such
// conflict.
pick_major();
} else if oracle.is_ancestor(src_major.rev, src_minor.rev) {
// If the minor side is strictly newer than the major side,
// it should be kept.
pick_minor();
} else if src_major.path.is_some() {
// without any special case, the "major" value win other
// the "minor" one.
pick_major();
} else if oracle.is_ancestor(src_minor.rev, src_major.rev) {
// the "major" rev is a direct ancestors of "minor", any
// different value should overwrite
pick_major();
} else {
......@@ -354,9 +324,45 @@
} else {
// major version is None (so the file was deleted on that
// branch) and that branch is independant (neither minor
// nor major is an ancestors of the other one.) We preserve
// the new information about the new file.
pick_minor();
if src_major.path.is_none()
&& changes.salvaged.contains(dest)
{
// If the file is "deleted" in the major side but was
// salvaged by the merge, we keep the minor side alive
pick_minor();
} else if src_minor.path.is_none()
&& changes.salvaged.contains(dest)
{
// If the file is "deleted" in the minor side but was
// salvaged by the merge, unconditionnaly preserve the
// major side.
pick_major();
} else if changes.merged.contains(dest) {
// If the file was actively merged, copy information
// from each side might conflict. The major side will
// win such conflict.
pick_major();
} else if oracle.is_ancestor(src_major.rev, src_minor.rev)
{
// If the minor side is strictly newer than the major
// side, it should be kept.
pick_minor();
} else if src_major.path.is_some() {
// without any special case, the "major" value win
// other the "minor" one.
pick_major();
} else if oracle.is_ancestor(src_minor.rev, src_major.rev)
{
// the "major" rev is a direct ancestors of "minor",
// any different value should
// overwrite
pick_major();
} else {
// major version is None (so the file was deleted on
// that branch) and that branch is independant (neither
// minor nor major is an ancestors of the other one.)
// We preserve the new
// information about the new file.
pick_minor();
}
}
}
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment