Fossil SCM

Improved management of unmergeable binary files for "fossil update".

drh 2021-12-28 19:09 trunk merge
Commit 52a389d3dbd4b6cc8647e2a09c68305eb0fffe4d8bd69046a6b318ad0015d2be
1 file changed +13 -1
+13 -1
--- src/update.c
+++ src/update.c
@@ -516,14 +516,26 @@
516516
fossil_print("***** %d merge conflicts in %s\n", rc, zNewName);
517517
nConflict++;
518518
}
519519
}else{
520520
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
+ }
521529
blob_write_to_file(&t, zFullNewPath);
522530
file_setexe(zFullNewPath, isexe);
523531
}
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");
525537
nConflict++;
526538
}
527539
}
528540
if( nameChng && !dryRunFlag ) file_delete(zFullPath);
529541
blob_reset(&v);
530542
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button