lib/protocol: Invalid files should always lose (#4747)

This commit is contained in:
Simon Frei
2018-02-10 19:40:57 +01:00
committed by GitHub
parent 6d3f9d5154
commit 4955297bf6
3 changed files with 10 additions and 0 deletions

View File

@@ -95,6 +95,11 @@ func (f FileInfo) SequenceNo() int64 {
// WinsConflict returns true if "f" is the one to choose when it is in
// conflict with "other".
func (f FileInfo) WinsConflict(other FileInfo) bool {
// If only one of the files is invalid, that one loses
if f.IsInvalid() != other.IsInvalid() {
return !f.IsInvalid()
}
// If a modification is in conflict with a delete, we pick the
// modification.
if !f.IsDeleted() && other.IsDeleted() {