Fossil SCM

When doing a "fossil update", if a file under management needs to overwrite an unmanaged file, display the name of the backup that is made of the unmanaged file, and use file_delete() to delete the unmanaged file, even if that unmanaged file is read-only. The enables "fossil up version-3.50.0" to work on the SQLite repository when starting from the latest trunk.

drh 2026-04-01 12:10 trunk
Commit adb68404e610682bb194ea858f861d87c538b23252892c2cc0fceae41be47614
1 file changed +5 -2
+5 -2
--- src/update.c
+++ src/update.c
@@ -453,14 +453,17 @@
453453
if( file_isfile_or_link(zFullPath) ){
454454
/* Name of backup file with Original content */
455455
char *zOrig = file_newname(zFullPath, "original", 1);
456456
/* Backup previously unmanaged file before being overwritten */
457457
file_copy(zFullPath, zOrig);
458
- fossil_free(zOrig);
459458
fossil_print("ADD %s - overwrites an unmanaged file", zName);
460
- if( !dryRunFlag ) fossil_print(", original copy backed up locally");
459
+ if( !dryRunFlag ){
460
+ fossil_print(", original copy backed up as \"%s\"", zOrig);
461
+ file_delete(zFullPath);
462
+ }
461463
fossil_print("\n");
464
+ fossil_free(zOrig);
462465
nOverwrite++;
463466
nc = 1;
464467
zOp = "CONFLICT";
465468
zErrMsg = "new file overwrites unmanaged file";
466469
}else{
467470
--- src/update.c
+++ src/update.c
@@ -453,14 +453,17 @@
453 if( file_isfile_or_link(zFullPath) ){
454 /* Name of backup file with Original content */
455 char *zOrig = file_newname(zFullPath, "original", 1);
456 /* Backup previously unmanaged file before being overwritten */
457 file_copy(zFullPath, zOrig);
458 fossil_free(zOrig);
459 fossil_print("ADD %s - overwrites an unmanaged file", zName);
460 if( !dryRunFlag ) fossil_print(", original copy backed up locally");
 
 
 
461 fossil_print("\n");
 
462 nOverwrite++;
463 nc = 1;
464 zOp = "CONFLICT";
465 zErrMsg = "new file overwrites unmanaged file";
466 }else{
467
--- src/update.c
+++ src/update.c
@@ -453,14 +453,17 @@
453 if( file_isfile_or_link(zFullPath) ){
454 /* Name of backup file with Original content */
455 char *zOrig = file_newname(zFullPath, "original", 1);
456 /* Backup previously unmanaged file before being overwritten */
457 file_copy(zFullPath, zOrig);
 
458 fossil_print("ADD %s - overwrites an unmanaged file", zName);
459 if( !dryRunFlag ){
460 fossil_print(", original copy backed up as \"%s\"", zOrig);
461 file_delete(zFullPath);
462 }
463 fossil_print("\n");
464 fossil_free(zOrig);
465 nOverwrite++;
466 nc = 1;
467 zOp = "CONFLICT";
468 zErrMsg = "new file overwrites unmanaged file";
469 }else{
470

Keyboard Shortcuts

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