@@ -380,25 +380,22 @@
380 380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** files that are not officially part of the checkout. This operation
381 381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** cannot be undone.
382 382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
383 383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** You will be prompted before removing each file. If you are
384 384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** sure you wish to remove all "extra" files you can specify the
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** optional --force flag and no prompts will be issued.
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** optional --force flag and no prompts will be issued. The
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** "ignore-glob" setting specifies for which files the prompting
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** will be skipped. You can override this with --ignore option.
386 388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
387 389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Files and subdirectories whose names begin with "." are
388 390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** normally ignored. They are included if the "--dotfiles" option
389 391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** is used.
390 392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** The GLOBPATTERN is a comma-separated list of GLOB expressions for
392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** files that are ignored. The GLOBPATTERN specified by the "ignore-glob"
393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** is used if the --ignore option is omitted.
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
395 393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Options:
396 394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --dotfiles include files beginning with a dot (".")
397 395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --force Remove files without prompting
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --ignore <CSG> ignore files matching patterns from the
399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** comma separated list of glob patterns.
396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --ignore <CSG> Override the "ignore-glob" setting
400 397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --temp Remove only Fossil-generated temporary files
401 398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
402 399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** See also: addremove, extra, status
403 400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
404 401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void clean_cmd(void){
@@ -423,12 +420,11 @@
423 420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)",
424 421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
filename_collation());
425 422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
n = strlen(g.zLocalRoot);
426 423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&path, g.zLocalRoot, n-1);
427 424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIgnore = glob_create(zIgnoreFlag);
428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- vfile_scan(&path, blob_size(&path), scanFlags, pIgnore);
429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- glob_free(pIgnore);
425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ vfile_scan(&path, blob_size(&path), scanFlags, NULL);
430 426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_prepare(&q,
431 427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT %Q || x FROM sfile"
432 428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE x NOT IN (%s)"
433 429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" ORDER BY 1",
434 430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.zLocalRoot, fossil_all_reserved_names(0)
@@ -438,11 +434,11 @@
438 434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
439 435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec("DELETE FROM sfile WHERE x IN (SELECT pathname FROM vfile)");
440 436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( db_step(&q)==SQLITE_ROW ){
441 437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( testFlag ){
442 438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_print("%s\n", db_column_text(&q,0));
443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( allFlag ){
439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( allFlag || glob_match(pIgnore, db_column_text(&q, 0)+n) ){
444 440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
file_delete(db_column_text(&q, 0));
445 441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
446 442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob ans;
447 443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char cReply;
448 444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *prompt = mprintf("remove unmanaged file \"%s\" (y/N)? ",
@@ -453,10 +449,11 @@
453 449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( cReply=='y' || cReply=='Y' ){
454 450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
file_delete(db_column_text(&q, 0));
455 451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
456 452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
457 453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ glob_free(pIgnore);
458 455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&q);
459 456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
460 457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
461 458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
462 459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Prompt the user for a check-in or stash comment (given in pPrompt),
463 460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!