Fossil SCM
Make "fossil open" and "fossil rm" work on a repository which doesn't have any check-in. (the latter only undoes the effect of a previous "fossil add" then).
Commit
aef638b61003fcf21cf2864d5e2a34d4205f16ba
Parent
d7160dc1953da49…
2 files changed
-5
+2
-5
| --- src/add.c | ||
| +++ src/add.c | ||
| @@ -316,19 +316,14 @@ | ||
| 316 | 316 | ** |
| 317 | 317 | ** See also: addremove, add |
| 318 | 318 | */ |
| 319 | 319 | void delete_cmd(void){ |
| 320 | 320 | int i; |
| 321 | - int vid; | |
| 322 | 321 | Stmt loop; |
| 323 | 322 | |
| 324 | 323 | capture_case_sensitive_option(); |
| 325 | 324 | db_must_be_within_tree(); |
| 326 | - vid = db_lget_int("checkout", 0); | |
| 327 | - if( vid==0 ){ | |
| 328 | - fossil_fatal("no checkout to remove from"); | |
| 329 | - } | |
| 330 | 325 | db_begin_transaction(); |
| 331 | 326 | db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)", |
| 332 | 327 | filename_collation()); |
| 333 | 328 | for(i=2; i<g.argc; i++){ |
| 334 | 329 | Blob treeName; |
| 335 | 330 |
| --- src/add.c | |
| +++ src/add.c | |
| @@ -316,19 +316,14 @@ | |
| 316 | ** |
| 317 | ** See also: addremove, add |
| 318 | */ |
| 319 | void delete_cmd(void){ |
| 320 | int i; |
| 321 | int vid; |
| 322 | Stmt loop; |
| 323 | |
| 324 | capture_case_sensitive_option(); |
| 325 | db_must_be_within_tree(); |
| 326 | vid = db_lget_int("checkout", 0); |
| 327 | if( vid==0 ){ |
| 328 | fossil_fatal("no checkout to remove from"); |
| 329 | } |
| 330 | db_begin_transaction(); |
| 331 | db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)", |
| 332 | filename_collation()); |
| 333 | for(i=2; i<g.argc; i++){ |
| 334 | Blob treeName; |
| 335 |
| --- src/add.c | |
| +++ src/add.c | |
| @@ -316,19 +316,14 @@ | |
| 316 | ** |
| 317 | ** See also: addremove, add |
| 318 | */ |
| 319 | void delete_cmd(void){ |
| 320 | int i; |
| 321 | Stmt loop; |
| 322 | |
| 323 | capture_case_sensitive_option(); |
| 324 | db_must_be_within_tree(); |
| 325 | db_begin_transaction(); |
| 326 | db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)", |
| 327 | filename_collation()); |
| 328 | for(i=2; i<g.argc; i++){ |
| 329 | Blob treeName; |
| 330 |
M
src/db.c
+2
| --- src/db.c | ||
| +++ src/db.c | ||
| @@ -2033,10 +2033,12 @@ | ||
| 2033 | 2033 | azNewArgv[0] = g.argv[0]; |
| 2034 | 2034 | g.argv = azNewArgv; |
| 2035 | 2035 | g.argc = 3; |
| 2036 | 2036 | if( oldArgc==4 ){ |
| 2037 | 2037 | azNewArgv[g.argc-1] = oldArgv[3]; |
| 2038 | + }else if( !db_exists("SELECT 1 FROM event WHERE type='ci'") ){ | |
| 2039 | + azNewArgv[g.argc-1] = "--latest"; | |
| 2038 | 2040 | }else{ |
| 2039 | 2041 | azNewArgv[g.argc-1] = db_get("main-branch", "trunk"); |
| 2040 | 2042 | } |
| 2041 | 2043 | if( keepFlag ){ |
| 2042 | 2044 | azNewArgv[g.argc++] = "--keep"; |
| 2043 | 2045 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -2033,10 +2033,12 @@ | |
| 2033 | azNewArgv[0] = g.argv[0]; |
| 2034 | g.argv = azNewArgv; |
| 2035 | g.argc = 3; |
| 2036 | if( oldArgc==4 ){ |
| 2037 | azNewArgv[g.argc-1] = oldArgv[3]; |
| 2038 | }else{ |
| 2039 | azNewArgv[g.argc-1] = db_get("main-branch", "trunk"); |
| 2040 | } |
| 2041 | if( keepFlag ){ |
| 2042 | azNewArgv[g.argc++] = "--keep"; |
| 2043 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -2033,10 +2033,12 @@ | |
| 2033 | azNewArgv[0] = g.argv[0]; |
| 2034 | g.argv = azNewArgv; |
| 2035 | g.argc = 3; |
| 2036 | if( oldArgc==4 ){ |
| 2037 | azNewArgv[g.argc-1] = oldArgv[3]; |
| 2038 | }else if( !db_exists("SELECT 1 FROM event WHERE type='ci'") ){ |
| 2039 | azNewArgv[g.argc-1] = "--latest"; |
| 2040 | }else{ |
| 2041 | azNewArgv[g.argc-1] = db_get("main-branch", "trunk"); |
| 2042 | } |
| 2043 | if( keepFlag ){ |
| 2044 | azNewArgv[g.argc++] = "--keep"; |
| 2045 |