@@ -406,10 +406,11 @@
406 406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** comma separated list of glob patterns.
407 407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --keep <CSG> keep files matching this comma separated
408 408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** list of glob patterns.
409 409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** -n|--dry-run If given, display instead of run actions
410 410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --temp Remove only Fossil-generated temporary files
411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** -v|--verbose Show all files as they are removed
411 412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
412 413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** See also: addremove, extra, status
413 414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
414 415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void clean_cmd(void){
415 416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int allFlag;
@@ -418,15 +419,17 @@
418 419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob path, repo;
419 420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Stmt q;
420 421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int n;
421 422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Glob *pIgnore, *pKeep, *pClean;
422 423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int dryRunFlag = 0;
424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int verboseFlag;
423 425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
424 426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
allFlag = find_option("force","f",0)!=0;
425 427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( find_option("dotfiles",0,0)!=0 ) scanFlags |= SCAN_ALL;
426 428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( find_option("temp",0,0)!=0 ) scanFlags |= SCAN_TEMP;
427 429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zIgnoreFlag = find_option("ignore",0,1);
430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ verboseFlag = find_option("verbose","v",0)!=0;
428 431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
dryRunFlag = find_option("dry-run","n",0)!=0;
429 432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !dryRunFlag ){
430 433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
dryRunFlag = find_option("test",0,0)!=0; /* deprecated */
431 434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
432 435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zKeepFlag = find_option("keep",0,1);
@@ -440,10 +443,11 @@
440 443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zKeepFlag = db_get("keep-glob", 0);
441 444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
442 445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zCleanFlag==0 ){
443 446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zCleanFlag = db_get("clean-glob", 0);
444 447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ verify_all_options();
445 449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)",
446 450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
filename_collation());
447 451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
n = strlen(g.zLocalRoot);
448 452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&path, g.zLocalRoot, n-1);
449 453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIgnore = glob_create(zIgnoreFlag);
@@ -462,11 +466,11 @@
462 466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec("DELETE FROM sfile WHERE x=%B", &repo);
463 467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
464 468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec("DELETE FROM sfile WHERE x IN (SELECT pathname FROM vfile)");
465 469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( db_step(&q)==SQLITE_ROW ){
466 470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zName = db_column_text(&q, 0);
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !allFlag && !glob_match(pClean, zName+n) ){
471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !allFlag && !dryRunFlag && !glob_match(pClean, zName+n) ){
468 472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob ans;
469 473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char cReply;
470 474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *prompt = mprintf("remove unmanaged file \"%s\" (a=all/y/N)? ",
471 475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zName+n);
472 476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_zero(&ans);
@@ -476,11 +480,13 @@
476 480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
allFlag = 1;
477 481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( cReply!='y' && cReply!='Y' ){
478 482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
continue;
479 483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
480 484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print("removed unmanaged file \"%s\"\n", zName+n);
485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( dryRunFlag || verboseFlag ){
486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print("removed unmanaged file: %s\n", zName+n);
487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
482 488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !dryRunFlag ){
483 489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
file_delete(zName);
484 490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
485 491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
486 492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
glob_free(pClean);
487 493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!