Fossil SCM
Improved management of unmergeable binary files for "fossil update".
Commit
52a389d3dbd4b6cc8647e2a09c68305eb0fffe4d8bd69046a6b318ad0015d2be
Parent
f6263bb64195b07…
1 file changed
+13
-1
+13
-1
| --- src/update.c | ||
| +++ src/update.c | ||
| @@ -516,14 +516,26 @@ | ||
| 516 | 516 | fossil_print("***** %d merge conflicts in %s\n", rc, zNewName); |
| 517 | 517 | nConflict++; |
| 518 | 518 | } |
| 519 | 519 | }else{ |
| 520 | 520 | if( !dryRunFlag ){ |
| 521 | + if( !keepMergeFlag ){ | |
| 522 | + /* Name of backup file with Original content */ | |
| 523 | + char *zOrig = file_newname(zFullPath, "original", 1); | |
| 524 | + /* Backup non-mergeable binary file when --keep-merge-files is | |
| 525 | + not specified */ | |
| 526 | + file_copy(zFullPath, zOrig); | |
| 527 | + fossil_free(zOrig); | |
| 528 | + } | |
| 521 | 529 | blob_write_to_file(&t, zFullNewPath); |
| 522 | 530 | file_setexe(zFullNewPath, isexe); |
| 523 | 531 | } |
| 524 | - fossil_print("***** Cannot merge binary file %s\n", zNewName); | |
| 532 | + fossil_print("***** Cannot merge binary file %s", zNewName); | |
| 533 | + if( !dryRunFlag ){ | |
| 534 | + fossil_print(", original copy backed up locally"); | |
| 535 | + } | |
| 536 | + fossil_print("\n"); | |
| 525 | 537 | nConflict++; |
| 526 | 538 | } |
| 527 | 539 | } |
| 528 | 540 | if( nameChng && !dryRunFlag ) file_delete(zFullPath); |
| 529 | 541 | blob_reset(&v); |
| 530 | 542 |
| --- src/update.c | |
| +++ src/update.c | |
| @@ -516,14 +516,26 @@ | |
| 516 | fossil_print("***** %d merge conflicts in %s\n", rc, zNewName); |
| 517 | nConflict++; |
| 518 | } |
| 519 | }else{ |
| 520 | if( !dryRunFlag ){ |
| 521 | blob_write_to_file(&t, zFullNewPath); |
| 522 | file_setexe(zFullNewPath, isexe); |
| 523 | } |
| 524 | fossil_print("***** Cannot merge binary file %s\n", zNewName); |
| 525 | nConflict++; |
| 526 | } |
| 527 | } |
| 528 | if( nameChng && !dryRunFlag ) file_delete(zFullPath); |
| 529 | blob_reset(&v); |
| 530 |
| --- src/update.c | |
| +++ src/update.c | |
| @@ -516,14 +516,26 @@ | |
| 516 | fossil_print("***** %d merge conflicts in %s\n", rc, zNewName); |
| 517 | nConflict++; |
| 518 | } |
| 519 | }else{ |
| 520 | if( !dryRunFlag ){ |
| 521 | if( !keepMergeFlag ){ |
| 522 | /* Name of backup file with Original content */ |
| 523 | char *zOrig = file_newname(zFullPath, "original", 1); |
| 524 | /* Backup non-mergeable binary file when --keep-merge-files is |
| 525 | not specified */ |
| 526 | file_copy(zFullPath, zOrig); |
| 527 | fossil_free(zOrig); |
| 528 | } |
| 529 | blob_write_to_file(&t, zFullNewPath); |
| 530 | file_setexe(zFullNewPath, isexe); |
| 531 | } |
| 532 | fossil_print("***** Cannot merge binary file %s", zNewName); |
| 533 | if( !dryRunFlag ){ |
| 534 | fossil_print(", original copy backed up locally"); |
| 535 | } |
| 536 | fossil_print("\n"); |
| 537 | nConflict++; |
| 538 | } |
| 539 | } |
| 540 | if( nameChng && !dryRunFlag ) file_delete(zFullPath); |
| 541 | blob_reset(&v); |
| 542 |