Fossil SCM
Avoid superfluous error messages about missing temporary tables when there are no valid files to move or remove with the --hard option.
Commit
d272a35d26cdc091a72cd0a172870c6ada4a94e5
Parent
d12fc4b148dcb42…
2 files changed
+30
-26
+2
-1
+30
-26
| --- src/add.c | ||
| +++ src/add.c | ||
| @@ -384,20 +384,22 @@ | ||
| 384 | 384 | */ |
| 385 | 385 | static void process_files_to_remove( |
| 386 | 386 | int dryRunFlag /* Zero to actually operate on the file-system. */ |
| 387 | 387 | ){ |
| 388 | 388 | Stmt remove; |
| 389 | - db_prepare(&remove, "SELECT x FROM fremove ORDER BY x;"); | |
| 390 | - while( db_step(&remove)==SQLITE_ROW ){ | |
| 391 | - const char *zOldName = db_column_text(&remove, 0); | |
| 392 | - if( !dryRunFlag ){ | |
| 393 | - file_delete(zOldName); | |
| 394 | - } | |
| 395 | - fossil_print("DELETED_FILE %s\n", zOldName); | |
| 396 | - } | |
| 397 | - db_finalize(&remove); | |
| 398 | - db_multi_exec("DROP TABLE fremove;"); | |
| 389 | + if( db_table_exists(db_name("temp"), "fremove") ){ | |
| 390 | + db_prepare(&remove, "SELECT x FROM fremove ORDER BY x;"); | |
| 391 | + while( db_step(&remove)==SQLITE_ROW ){ | |
| 392 | + const char *zOldName = db_column_text(&remove, 0); | |
| 393 | + if( !dryRunFlag ){ | |
| 394 | + file_delete(zOldName); | |
| 395 | + } | |
| 396 | + fossil_print("DELETED_FILE %s\n", zOldName); | |
| 397 | + } | |
| 398 | + db_finalize(&remove); | |
| 399 | + db_multi_exec("DROP TABLE fremove;"); | |
| 400 | + } | |
| 399 | 401 | } |
| 400 | 402 | |
| 401 | 403 | /* |
| 402 | 404 | ** COMMAND: rm |
| 403 | 405 | ** COMMAND: delete |
| @@ -768,26 +770,28 @@ | ||
| 768 | 770 | */ |
| 769 | 771 | static void process_files_to_move( |
| 770 | 772 | int dryRunFlag /* Zero to actually operate on the file-system. */ |
| 771 | 773 | ){ |
| 772 | 774 | Stmt move; |
| 773 | - db_prepare(&move, "SELECT x, y FROM fmove ORDER BY x;"); | |
| 774 | - while( db_step(&move)==SQLITE_ROW ){ | |
| 775 | - const char *zOldName = db_column_text(&move, 0); | |
| 776 | - const char *zNewName = db_column_text(&move, 1); | |
| 777 | - if( !dryRunFlag ){ | |
| 778 | - if( file_wd_islink(zOldName) ){ | |
| 779 | - symlink_copy(zOldName, zNewName); | |
| 780 | - }else{ | |
| 781 | - file_copy(zOldName, zNewName); | |
| 782 | - } | |
| 783 | - file_delete(zOldName); | |
| 784 | - } | |
| 785 | - fossil_print("MOVED_FILE %s\n", zOldName); | |
| 786 | - } | |
| 787 | - db_finalize(&move); | |
| 788 | - db_multi_exec("DROP TABLE fmove;"); | |
| 775 | + if( db_table_exists(db_name("temp"), "fmove") ){ | |
| 776 | + db_prepare(&move, "SELECT x, y FROM fmove ORDER BY x;"); | |
| 777 | + while( db_step(&move)==SQLITE_ROW ){ | |
| 778 | + const char *zOldName = db_column_text(&move, 0); | |
| 779 | + const char *zNewName = db_column_text(&move, 1); | |
| 780 | + if( !dryRunFlag ){ | |
| 781 | + if( file_wd_islink(zOldName) ){ | |
| 782 | + symlink_copy(zOldName, zNewName); | |
| 783 | + }else{ | |
| 784 | + file_copy(zOldName, zNewName); | |
| 785 | + } | |
| 786 | + file_delete(zOldName); | |
| 787 | + } | |
| 788 | + fossil_print("MOVED_FILE %s\n", zOldName); | |
| 789 | + } | |
| 790 | + db_finalize(&move); | |
| 791 | + db_multi_exec("DROP TABLE fmove;"); | |
| 792 | + } | |
| 789 | 793 | } |
| 790 | 794 | |
| 791 | 795 | /* |
| 792 | 796 | ** COMMAND: mv |
| 793 | 797 | ** COMMAND: rename* |
| 794 | 798 |
| --- src/add.c | |
| +++ src/add.c | |
| @@ -384,20 +384,22 @@ | |
| 384 | */ |
| 385 | static void process_files_to_remove( |
| 386 | int dryRunFlag /* Zero to actually operate on the file-system. */ |
| 387 | ){ |
| 388 | Stmt remove; |
| 389 | db_prepare(&remove, "SELECT x FROM fremove ORDER BY x;"); |
| 390 | while( db_step(&remove)==SQLITE_ROW ){ |
| 391 | const char *zOldName = db_column_text(&remove, 0); |
| 392 | if( !dryRunFlag ){ |
| 393 | file_delete(zOldName); |
| 394 | } |
| 395 | fossil_print("DELETED_FILE %s\n", zOldName); |
| 396 | } |
| 397 | db_finalize(&remove); |
| 398 | db_multi_exec("DROP TABLE fremove;"); |
| 399 | } |
| 400 | |
| 401 | /* |
| 402 | ** COMMAND: rm |
| 403 | ** COMMAND: delete |
| @@ -768,26 +770,28 @@ | |
| 768 | */ |
| 769 | static void process_files_to_move( |
| 770 | int dryRunFlag /* Zero to actually operate on the file-system. */ |
| 771 | ){ |
| 772 | Stmt move; |
| 773 | db_prepare(&move, "SELECT x, y FROM fmove ORDER BY x;"); |
| 774 | while( db_step(&move)==SQLITE_ROW ){ |
| 775 | const char *zOldName = db_column_text(&move, 0); |
| 776 | const char *zNewName = db_column_text(&move, 1); |
| 777 | if( !dryRunFlag ){ |
| 778 | if( file_wd_islink(zOldName) ){ |
| 779 | symlink_copy(zOldName, zNewName); |
| 780 | }else{ |
| 781 | file_copy(zOldName, zNewName); |
| 782 | } |
| 783 | file_delete(zOldName); |
| 784 | } |
| 785 | fossil_print("MOVED_FILE %s\n", zOldName); |
| 786 | } |
| 787 | db_finalize(&move); |
| 788 | db_multi_exec("DROP TABLE fmove;"); |
| 789 | } |
| 790 | |
| 791 | /* |
| 792 | ** COMMAND: mv |
| 793 | ** COMMAND: rename* |
| 794 |
| --- src/add.c | |
| +++ src/add.c | |
| @@ -384,20 +384,22 @@ | |
| 384 | */ |
| 385 | static void process_files_to_remove( |
| 386 | int dryRunFlag /* Zero to actually operate on the file-system. */ |
| 387 | ){ |
| 388 | Stmt remove; |
| 389 | if( db_table_exists(db_name("temp"), "fremove") ){ |
| 390 | db_prepare(&remove, "SELECT x FROM fremove ORDER BY x;"); |
| 391 | while( db_step(&remove)==SQLITE_ROW ){ |
| 392 | const char *zOldName = db_column_text(&remove, 0); |
| 393 | if( !dryRunFlag ){ |
| 394 | file_delete(zOldName); |
| 395 | } |
| 396 | fossil_print("DELETED_FILE %s\n", zOldName); |
| 397 | } |
| 398 | db_finalize(&remove); |
| 399 | db_multi_exec("DROP TABLE fremove;"); |
| 400 | } |
| 401 | } |
| 402 | |
| 403 | /* |
| 404 | ** COMMAND: rm |
| 405 | ** COMMAND: delete |
| @@ -768,26 +770,28 @@ | |
| 770 | */ |
| 771 | static void process_files_to_move( |
| 772 | int dryRunFlag /* Zero to actually operate on the file-system. */ |
| 773 | ){ |
| 774 | Stmt move; |
| 775 | if( db_table_exists(db_name("temp"), "fmove") ){ |
| 776 | db_prepare(&move, "SELECT x, y FROM fmove ORDER BY x;"); |
| 777 | while( db_step(&move)==SQLITE_ROW ){ |
| 778 | const char *zOldName = db_column_text(&move, 0); |
| 779 | const char *zNewName = db_column_text(&move, 1); |
| 780 | if( !dryRunFlag ){ |
| 781 | if( file_wd_islink(zOldName) ){ |
| 782 | symlink_copy(zOldName, zNewName); |
| 783 | }else{ |
| 784 | file_copy(zOldName, zNewName); |
| 785 | } |
| 786 | file_delete(zOldName); |
| 787 | } |
| 788 | fossil_print("MOVED_FILE %s\n", zOldName); |
| 789 | } |
| 790 | db_finalize(&move); |
| 791 | db_multi_exec("DROP TABLE fmove;"); |
| 792 | } |
| 793 | } |
| 794 | |
| 795 | /* |
| 796 | ** COMMAND: mv |
| 797 | ** COMMAND: rename* |
| 798 |
M
src/db.c
+2
-1
| --- src/db.c | ||
| +++ src/db.c | ||
| @@ -1258,11 +1258,12 @@ | ||
| 1258 | 1258 | ** Return the name of the database "localdb", "configdb", or "repository". |
| 1259 | 1259 | */ |
| 1260 | 1260 | const char *db_name(const char *zDb){ |
| 1261 | 1261 | assert( fossil_strcmp(zDb,"localdb")==0 |
| 1262 | 1262 | || fossil_strcmp(zDb,"configdb")==0 |
| 1263 | - || fossil_strcmp(zDb,"repository")==0 ); | |
| 1263 | + || fossil_strcmp(zDb,"repository")==0 | |
| 1264 | + || fossil_strcmp(zDb,"temp")==0 ); | |
| 1264 | 1265 | if( fossil_strcmp(zDb, g.zMainDbType)==0 ) zDb = "main"; |
| 1265 | 1266 | return zDb; |
| 1266 | 1267 | } |
| 1267 | 1268 | |
| 1268 | 1269 | /* |
| 1269 | 1270 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -1258,11 +1258,12 @@ | |
| 1258 | ** Return the name of the database "localdb", "configdb", or "repository". |
| 1259 | */ |
| 1260 | const char *db_name(const char *zDb){ |
| 1261 | assert( fossil_strcmp(zDb,"localdb")==0 |
| 1262 | || fossil_strcmp(zDb,"configdb")==0 |
| 1263 | || fossil_strcmp(zDb,"repository")==0 ); |
| 1264 | if( fossil_strcmp(zDb, g.zMainDbType)==0 ) zDb = "main"; |
| 1265 | return zDb; |
| 1266 | } |
| 1267 | |
| 1268 | /* |
| 1269 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -1258,11 +1258,12 @@ | |
| 1258 | ** Return the name of the database "localdb", "configdb", or "repository". |
| 1259 | */ |
| 1260 | const char *db_name(const char *zDb){ |
| 1261 | assert( fossil_strcmp(zDb,"localdb")==0 |
| 1262 | || fossil_strcmp(zDb,"configdb")==0 |
| 1263 | || fossil_strcmp(zDb,"repository")==0 |
| 1264 | || fossil_strcmp(zDb,"temp")==0 ); |
| 1265 | if( fossil_strcmp(zDb, g.zMainDbType)==0 ) zDb = "main"; |
| 1266 | return zDb; |
| 1267 | } |
| 1268 | |
| 1269 | /* |
| 1270 |