Fossil SCM
Fix undo when having a regular file on disk and symlink in undo.
Commit
324763b932014891d345c31bf14d206f0e7e3d16
Parent
0762b1d9c6cc13b…
1 file changed
+2
-2
+2
-2
| --- src/undo.c | ||
| +++ src/undo.c | ||
| @@ -71,13 +71,13 @@ | ||
| 71 | 71 | fossil_print("%s %s\n", redoFlag ? "REDO" : "UNDO", zPathname); |
| 72 | 72 | }else{ |
| 73 | 73 | fossil_print("NEW %s\n", zPathname); |
| 74 | 74 | } |
| 75 | 75 | if( new_exists && (new_link || old_link) ){ |
| 76 | - unlink(zFullname); | |
| 76 | + file_delete(zFullname); | |
| 77 | 77 | } |
| 78 | - if( new_link ){ | |
| 78 | + if( old_link ){ | |
| 79 | 79 | create_symlink(blob_str(&new), zFullname); |
| 80 | 80 | }else{ |
| 81 | 81 | blob_write_to_file(&new, zFullname); |
| 82 | 82 | } |
| 83 | 83 | file_setexe(zFullname, old_exe); |
| 84 | 84 |
| --- src/undo.c | |
| +++ src/undo.c | |
| @@ -71,13 +71,13 @@ | |
| 71 | fossil_print("%s %s\n", redoFlag ? "REDO" : "UNDO", zPathname); |
| 72 | }else{ |
| 73 | fossil_print("NEW %s\n", zPathname); |
| 74 | } |
| 75 | if( new_exists && (new_link || old_link) ){ |
| 76 | unlink(zFullname); |
| 77 | } |
| 78 | if( new_link ){ |
| 79 | create_symlink(blob_str(&new), zFullname); |
| 80 | }else{ |
| 81 | blob_write_to_file(&new, zFullname); |
| 82 | } |
| 83 | file_setexe(zFullname, old_exe); |
| 84 |
| --- src/undo.c | |
| +++ src/undo.c | |
| @@ -71,13 +71,13 @@ | |
| 71 | fossil_print("%s %s\n", redoFlag ? "REDO" : "UNDO", zPathname); |
| 72 | }else{ |
| 73 | fossil_print("NEW %s\n", zPathname); |
| 74 | } |
| 75 | if( new_exists && (new_link || old_link) ){ |
| 76 | file_delete(zFullname); |
| 77 | } |
| 78 | if( old_link ){ |
| 79 | create_symlink(blob_str(&new), zFullname); |
| 80 | }else{ |
| 81 | blob_write_to_file(&new, zFullname); |
| 82 | } |
| 83 | file_setexe(zFullname, old_exe); |
| 84 |