Просмотр исходного кода

ldbGenericReplace: correctly handle files with same version but different flags.

This fixes syncthing bug #819.
Jochen Voss 11 лет назад
Родитель
Сommit
481b2186cb
1 измененных файлов с 2 добавлено и 1 удалено
  1. 2 1
      internal/files/leveldb.go

+ 2 - 1
internal/files/leveldb.go

@@ -232,7 +232,8 @@ func ldbGenericReplace(db *leveldb.DB, folder, device []byte, fs []protocol.File
 			// marked a file as invalid, so handle that too.
 			var ef protocol.FileInfoTruncated
 			ef.UnmarshalXDR(dbi.Value())
-			if fs[fsi].Version > ef.Version || fs[fsi].Version != ef.Version {
+			if fs[fsi].Version > ef.Version ||
+				(fs[fsi].Version == ef.Version && fs[fsi].Flags != ef.Flags) {
 				if lv := ldbInsert(batch, folder, device, newName, fs[fsi]); lv > maxLocalVer {
 					maxLocalVer = lv
 				}