Fossil SCM
If a file has been "fossil rm"-ed in the local checkout - which has not been committed, then a "fossil update" is done to another version that has no changes on that file, then silently keep that file unmanaged.
Commit
2918effe0d0aaae5875d61737c943eadf007d41e
Parent
5a1d13ee502c5c1…
1 file changed
+2
-3
+2
-3
| --- src/update.c | ||
| +++ src/update.c | ||
| @@ -405,15 +405,14 @@ | ||
| 405 | 405 | fossil_print("UPDATE %s - change to unmanaged file\n", zName); |
| 406 | 406 | }else{ |
| 407 | 407 | fossil_print("UPDATE %s\n", zName); |
| 408 | 408 | } |
| 409 | 409 | if( !dryRunFlag ) vfile_to_disk(0, idt, 0, 0); |
| 410 | - }else if( idt>0 && idv>0 && file_wd_size(zFullPath)<0 ){ | |
| 410 | + }else if( idt>0 && idv>0 && !deleted && file_wd_size(zFullPath)<0 ){ | |
| 411 | 411 | /* The file missing from the local check-out. Restore it to the |
| 412 | 412 | ** version that appears in the target. */ |
| 413 | - fossil_print("UPDATE %s%s\n", zName, | |
| 414 | - deleted?" - change to unmanaged file":""); | |
| 413 | + fossil_print("UPDATE %s\n", zName); | |
| 415 | 414 | undo_save(zName); |
| 416 | 415 | if( !dryRunFlag ) vfile_to_disk(0, idt, 0, 0); |
| 417 | 416 | }else if( idt==0 && idv>0 ){ |
| 418 | 417 | if( ridv==0 ){ |
| 419 | 418 | /* Added in current checkout. Continue to hold the file as |
| 420 | 419 |
| --- src/update.c | |
| +++ src/update.c | |
| @@ -405,15 +405,14 @@ | |
| 405 | fossil_print("UPDATE %s - change to unmanaged file\n", zName); |
| 406 | }else{ |
| 407 | fossil_print("UPDATE %s\n", zName); |
| 408 | } |
| 409 | if( !dryRunFlag ) vfile_to_disk(0, idt, 0, 0); |
| 410 | }else if( idt>0 && idv>0 && file_wd_size(zFullPath)<0 ){ |
| 411 | /* The file missing from the local check-out. Restore it to the |
| 412 | ** version that appears in the target. */ |
| 413 | fossil_print("UPDATE %s%s\n", zName, |
| 414 | deleted?" - change to unmanaged file":""); |
| 415 | undo_save(zName); |
| 416 | if( !dryRunFlag ) vfile_to_disk(0, idt, 0, 0); |
| 417 | }else if( idt==0 && idv>0 ){ |
| 418 | if( ridv==0 ){ |
| 419 | /* Added in current checkout. Continue to hold the file as |
| 420 |
| --- src/update.c | |
| +++ src/update.c | |
| @@ -405,15 +405,14 @@ | |
| 405 | fossil_print("UPDATE %s - change to unmanaged file\n", zName); |
| 406 | }else{ |
| 407 | fossil_print("UPDATE %s\n", zName); |
| 408 | } |
| 409 | if( !dryRunFlag ) vfile_to_disk(0, idt, 0, 0); |
| 410 | }else if( idt>0 && idv>0 && !deleted && file_wd_size(zFullPath)<0 ){ |
| 411 | /* The file missing from the local check-out. Restore it to the |
| 412 | ** version that appears in the target. */ |
| 413 | fossil_print("UPDATE %s\n", zName); |
| 414 | undo_save(zName); |
| 415 | if( !dryRunFlag ) vfile_to_disk(0, idt, 0, 0); |
| 416 | }else if( idt==0 && idv>0 ){ |
| 417 | if( ridv==0 ){ |
| 418 | /* Added in current checkout. Continue to hold the file as |
| 419 |