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

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

The next changeset will massively rewrite the next function. However Having a
clear diff on the core semantic of the function will help making the next
changesets clearer.
parent d6c501e28ff4
No related branches found
No related tags found
No related merge requests found
......@@ -208,8 +208,26 @@
for (dest, src_major) in major.into_iter() {
let overwrite;
if let Some(src_minor) = minor.get(&dest) {
if src_major.path == src_minor.path {
// we have the same value, but from other source;
if src_major.rev == src_minor.rev {
// If the two entry are identical, no need to do anything
{
if src_major.path == src_minor.path {
// we have the same value, no need to battle;
if src_major.rev == src_minor.rev {
// If the two entry are identical, no need to do
// anything
overwrite = false;
} else if is_ancestor(src_major.rev, src_minor.rev) {
overwrite = false;
} else {
overwrite = true;
}
} else if src_major.rev == src_minor.rev {
// We cannot get copy information for both p1 and p2 in the
// same rev. So this is the same value.
overwrite = false;
} 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
overwrite = false;
......@@ -215,2 +233,14 @@
overwrite = false;
} 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.
overwrite = true;
} 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.
overwrite = true;
} else if is_ancestor(src_major.rev, src_minor.rev) {
......@@ -216,2 +246,4 @@
} else if is_ancestor(src_major.rev, src_minor.rev) {
// If the minor side is strictly newer than the major side,
// it should be kept.
overwrite = false;
......@@ -217,2 +249,10 @@
overwrite = false;
} else if src_major.path.is_some() {
// without any special case, the "major" value win other
// the "minor" one.
overwrite = true;
} else if is_ancestor(src_minor.rev, src_major.rev) {
// the "major" rev is a direct ancestors of "minor", any
// different value should overwrite
overwrite = true;
} else {
......@@ -218,3 +258,8 @@
} else {
overwrite = true;
// major version is None (so the file was deleted on that
// branch) annd that branch
// is independant (neither minor nor major is an ancestors
// of the other one.) We preserve the
// new information about the new file.
overwrite = false;
}
......@@ -220,44 +265,4 @@
}
} else if src_major.rev == src_minor.rev {
// We cannot get copy information for both p1 and p2 in the
// same rev. So this is the same value.
overwrite = false;
} 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
overwrite = false;
} 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.
overwrite = true;
} 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.
overwrite = true;
} else if is_ancestor(src_major.rev, src_minor.rev) {
// If the minor side is strictly newer than the major side, it
// should be kept.
overwrite = false;
} else if src_major.path.is_some() {
// without any special case, the "major" value win other the
// "minor" one.
overwrite = true;
} else if is_ancestor(src_minor.rev, src_major.rev) {
// the "major" rev is a direct ancestors of "minor", any
// different value should overwrite
overwrite = true;
} else {
// major version is None (so the file was deleted on that
// branch) annd that branch is independant
// (neither minor nor major is an ancestors of the other one.)
// We preserve the new information about the new file.
overwrite = false;
}
} else {
// minor had not value
......
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