Fossil

Check-in [bd0b09e50b]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix reverting the combination of a renamed file and an added file that uses the renamed file's original filename. (This previously failed on a UNIQUE constraint.)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: bd0b09e50b80461e13c6d2fbdf7d6b4aba128f98
User & Date: joel 2014-02-23 05:15:41.505
Context
2014-02-24
10:56
Speedup "fossil extras" and other commands which traverse the local filesystem. See: [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg14697.html]. Thanks to Samuel Debionne for the suggestion. check-in: 3fbdaa243d user: jan.nijtmans tags: trunk
2014-02-23
05:15
Fix reverting the combination of a renamed file and an added file that uses the renamed file's original filename. (This previously failed on a UNIQUE constraint.) check-in: bd0b09e50b user: joel tags: trunk
04:56
Verify revert output in revert tests. check-in: 3949c9a33e user: joel tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/update.c.
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
        fossil_print("UNMANAGE: %s\n", zFile);
      }else{
        undo_save(zFile);
        file_delete(zFull);
        fossil_print("DELETE: %s\n", zFile);
      }
      db_multi_exec(
        "UPDATE vfile"
        "   SET pathname=origname, origname=NULL"
        " WHERE pathname=%Q AND origname!=pathname;"
        "DELETE FROM vfile WHERE pathname=%Q",
        zFile, zFile
      );
    }else{
      sqlite3_int64 mtime;







|







762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
        fossil_print("UNMANAGE: %s\n", zFile);
      }else{
        undo_save(zFile);
        file_delete(zFull);
        fossil_print("DELETE: %s\n", zFile);
      }
      db_multi_exec(
        "UPDATE OR REPLACE vfile"
        "   SET pathname=origname, origname=NULL"
        " WHERE pathname=%Q AND origname!=pathname;"
        "DELETE FROM vfile WHERE pathname=%Q",
        zFile, zFile
      );
    }else{
      sqlite3_int64 mtime;
Changes to test/revert.test.
132
133
134
135
136
137
138



















  REVERTED: f3
  DELETE: f3n
} -changes {
  DELETED f1
} -addremove {
  ADDED f0
} -exists {f0 f2 f3} -notexists {f1 f3n}


























>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
  REVERTED: f3
  DELETE: f3n
} -changes {
  DELETED f1
} -addremove {
  ADDED f0
} -exists {f0 f2 f3} -notexists {f1 f3n}


# Test reverting the combination of a renamed file and an added file that
# uses the renamed file's original filename.
#
repo_init
write_file f1 "f1"
fossil add f1
fossil commit -m "add f1"

write_file f1n "f1n"
fossil mv f1 f1n
write_file f1 "f1b"
fossil add f1

revert-test 2-1 {} {
  REVERTED: f1
  DELETE: f1n
} -exists {f1} -notexists {f1n}