Fossil SCM
Add --keep option to "fossil clean", and versionable "keep-glob" setting
Commit
6c72cab73ca1f51bd25ab44717aa3f940e61beed
Parent
b72908bc5b94307…
10 files changed
+2
+2
+18
-8
+18
-8
+1
+1
+5
+5
+1
+1
| --- a/.fossil-settings/keep-glob | ||
| +++ b/.fossil-settings/keep-glob | ||
| @@ -0,0 +1,2 @@ | ||
| 1 | +fossil | |
| 2 | +fossil.exe |
| --- a/.fossil-settings/keep-glob | |
| +++ b/.fossil-settings/keep-glob | |
| @@ -0,0 +1,2 @@ | |
| --- a/.fossil-settings/keep-glob | |
| +++ b/.fossil-settings/keep-glob | |
| @@ -0,0 +1,2 @@ | |
| 1 | fossil |
| 2 | fossil.exe |
| --- a/.fossil-settings/keep-glob | ||
| +++ b/.fossil-settings/keep-glob | ||
| @@ -0,0 +1,2 @@ | ||
| 1 | +fossil | |
| 2 | +fossil.exe |
| --- a/.fossil-settings/keep-glob | |
| +++ b/.fossil-settings/keep-glob | |
| @@ -0,0 +1,2 @@ | |
| --- a/.fossil-settings/keep-glob | |
| +++ b/.fossil-settings/keep-glob | |
| @@ -0,0 +1,2 @@ | |
| 1 | fossil |
| 2 | fossil.exe |
+18
-8
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -379,54 +379,64 @@ | ||
| 379 | 379 | ** Delete all "extra" files in the source tree. "Extra" files are |
| 380 | 380 | ** files that are not officially part of the checkout. This operation |
| 381 | 381 | ** cannot be undone. |
| 382 | 382 | ** |
| 383 | 383 | ** You will be prompted before removing each file, except for files |
| 384 | -** matching the pattern specified with --ignore. The GLOBPATTERN | |
| 384 | +** matching the patterns specified with --ignore and --keep. The GLOBPATTERN | |
| 385 | 385 | ** specified by the "ignore-glob" setting is used if the --ignore |
| 386 | -** option is omitted. If you are sure you wish to remove all "extra" | |
| 387 | -** files you can specify the optional --force flag and no prompts will | |
| 388 | -** be issued. | |
| 386 | +** option is omitted, the same with "keep-glob" and --keep. If you are | |
| 387 | +** sure you wish to remove all "extra" files except the ones specified | |
| 388 | +** with --keep, you can specify the optional --force flag and no prompts | |
| 389 | +** will be issued. If any file matches both --keep and --ignore, --keep | |
| 390 | +** takes precedence. | |
| 389 | 391 | ** |
| 390 | 392 | ** Files and subdirectories whose names begin with "." are |
| 391 | -** normally skipped. They are included if the "--dotfiles" option | |
| 393 | +** normally kept. They are handled if the "--dotfiles" option | |
| 392 | 394 | ** is used. |
| 393 | 395 | ** |
| 394 | 396 | ** Options: |
| 395 | 397 | ** --dotfiles include files beginning with a dot (".") |
| 396 | 398 | ** --force Remove files without prompting |
| 397 | 399 | ** --ignore <CSG> don't prompt for files matching this |
| 398 | 400 | ** comma separated list of glob patterns. |
| 401 | +** --keep <CSG> keep files matching this comma separated | |
| 402 | +** list of glob patterns. | |
| 399 | 403 | ** --temp Remove only Fossil-generated temporary files |
| 400 | 404 | ** |
| 401 | 405 | ** See also: addremove, extra, status |
| 402 | 406 | */ |
| 403 | 407 | void clean_cmd(void){ |
| 404 | 408 | int allFlag; |
| 405 | 409 | unsigned scanFlags = 0; |
| 406 | - const char *zIgnoreFlag; | |
| 410 | + const char *zIgnoreFlag, *zKeepFlag; | |
| 407 | 411 | Blob path, repo; |
| 408 | 412 | Stmt q; |
| 409 | 413 | int n; |
| 410 | - Glob *pIgnore; | |
| 414 | + Glob *pIgnore, *pKeep; | |
| 411 | 415 | int testFlag = 0; |
| 412 | 416 | |
| 413 | 417 | allFlag = find_option("force","f",0)!=0; |
| 414 | 418 | if( find_option("dotfiles",0,0)!=0 ) scanFlags |= SCAN_ALL; |
| 415 | 419 | if( find_option("temp",0,0)!=0 ) scanFlags |= SCAN_TEMP; |
| 416 | 420 | zIgnoreFlag = find_option("ignore",0,1); |
| 421 | + zKeepFlag = find_option("keep",0,1); | |
| 417 | 422 | testFlag = find_option("test",0,0)!=0; |
| 418 | 423 | db_must_be_within_tree(); |
| 419 | 424 | if( zIgnoreFlag==0 ){ |
| 420 | 425 | zIgnoreFlag = db_get("ignore-glob", 0); |
| 421 | 426 | } |
| 427 | + if( zKeepFlag==0 ){ | |
| 428 | + zKeepFlag = db_get("keep-glob", 0); | |
| 429 | + } | |
| 422 | 430 | db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)", |
| 423 | 431 | filename_collation()); |
| 424 | 432 | n = strlen(g.zLocalRoot); |
| 425 | 433 | blob_init(&path, g.zLocalRoot, n-1); |
| 426 | 434 | pIgnore = glob_create(zIgnoreFlag); |
| 427 | - vfile_scan(&path, blob_size(&path), scanFlags, NULL); | |
| 435 | + pKeep = glob_create(zKeepFlag); | |
| 436 | + vfile_scan(&path, blob_size(&path), scanFlags, pKeep); | |
| 437 | + glob_free(pKeep); | |
| 428 | 438 | db_prepare(&q, |
| 429 | 439 | "SELECT %Q || x FROM sfile" |
| 430 | 440 | " WHERE x NOT IN (%s)" |
| 431 | 441 | " ORDER BY 1", |
| 432 | 442 | g.zLocalRoot, fossil_all_reserved_names(0) |
| 433 | 443 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -379,54 +379,64 @@ | |
| 379 | ** Delete all "extra" files in the source tree. "Extra" files are |
| 380 | ** files that are not officially part of the checkout. This operation |
| 381 | ** cannot be undone. |
| 382 | ** |
| 383 | ** You will be prompted before removing each file, except for files |
| 384 | ** matching the pattern specified with --ignore. The GLOBPATTERN |
| 385 | ** specified by the "ignore-glob" setting is used if the --ignore |
| 386 | ** option is omitted. If you are sure you wish to remove all "extra" |
| 387 | ** files you can specify the optional --force flag and no prompts will |
| 388 | ** be issued. |
| 389 | ** |
| 390 | ** Files and subdirectories whose names begin with "." are |
| 391 | ** normally skipped. They are included if the "--dotfiles" option |
| 392 | ** is used. |
| 393 | ** |
| 394 | ** Options: |
| 395 | ** --dotfiles include files beginning with a dot (".") |
| 396 | ** --force Remove files without prompting |
| 397 | ** --ignore <CSG> don't prompt for files matching this |
| 398 | ** comma separated list of glob patterns. |
| 399 | ** --temp Remove only Fossil-generated temporary files |
| 400 | ** |
| 401 | ** See also: addremove, extra, status |
| 402 | */ |
| 403 | void clean_cmd(void){ |
| 404 | int allFlag; |
| 405 | unsigned scanFlags = 0; |
| 406 | const char *zIgnoreFlag; |
| 407 | Blob path, repo; |
| 408 | Stmt q; |
| 409 | int n; |
| 410 | Glob *pIgnore; |
| 411 | int testFlag = 0; |
| 412 | |
| 413 | allFlag = find_option("force","f",0)!=0; |
| 414 | if( find_option("dotfiles",0,0)!=0 ) scanFlags |= SCAN_ALL; |
| 415 | if( find_option("temp",0,0)!=0 ) scanFlags |= SCAN_TEMP; |
| 416 | zIgnoreFlag = find_option("ignore",0,1); |
| 417 | testFlag = find_option("test",0,0)!=0; |
| 418 | db_must_be_within_tree(); |
| 419 | if( zIgnoreFlag==0 ){ |
| 420 | zIgnoreFlag = db_get("ignore-glob", 0); |
| 421 | } |
| 422 | db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)", |
| 423 | filename_collation()); |
| 424 | n = strlen(g.zLocalRoot); |
| 425 | blob_init(&path, g.zLocalRoot, n-1); |
| 426 | pIgnore = glob_create(zIgnoreFlag); |
| 427 | vfile_scan(&path, blob_size(&path), scanFlags, NULL); |
| 428 | db_prepare(&q, |
| 429 | "SELECT %Q || x FROM sfile" |
| 430 | " WHERE x NOT IN (%s)" |
| 431 | " ORDER BY 1", |
| 432 | g.zLocalRoot, fossil_all_reserved_names(0) |
| 433 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -379,54 +379,64 @@ | |
| 379 | ** Delete all "extra" files in the source tree. "Extra" files are |
| 380 | ** files that are not officially part of the checkout. This operation |
| 381 | ** cannot be undone. |
| 382 | ** |
| 383 | ** You will be prompted before removing each file, except for files |
| 384 | ** matching the patterns specified with --ignore and --keep. The GLOBPATTERN |
| 385 | ** specified by the "ignore-glob" setting is used if the --ignore |
| 386 | ** option is omitted, the same with "keep-glob" and --keep. If you are |
| 387 | ** sure you wish to remove all "extra" files except the ones specified |
| 388 | ** with --keep, you can specify the optional --force flag and no prompts |
| 389 | ** will be issued. If any file matches both --keep and --ignore, --keep |
| 390 | ** takes precedence. |
| 391 | ** |
| 392 | ** Files and subdirectories whose names begin with "." are |
| 393 | ** normally kept. They are handled if the "--dotfiles" option |
| 394 | ** is used. |
| 395 | ** |
| 396 | ** Options: |
| 397 | ** --dotfiles include files beginning with a dot (".") |
| 398 | ** --force Remove files without prompting |
| 399 | ** --ignore <CSG> don't prompt for files matching this |
| 400 | ** comma separated list of glob patterns. |
| 401 | ** --keep <CSG> keep files matching this comma separated |
| 402 | ** list of glob patterns. |
| 403 | ** --temp Remove only Fossil-generated temporary files |
| 404 | ** |
| 405 | ** See also: addremove, extra, status |
| 406 | */ |
| 407 | void clean_cmd(void){ |
| 408 | int allFlag; |
| 409 | unsigned scanFlags = 0; |
| 410 | const char *zIgnoreFlag, *zKeepFlag; |
| 411 | Blob path, repo; |
| 412 | Stmt q; |
| 413 | int n; |
| 414 | Glob *pIgnore, *pKeep; |
| 415 | int testFlag = 0; |
| 416 | |
| 417 | allFlag = find_option("force","f",0)!=0; |
| 418 | if( find_option("dotfiles",0,0)!=0 ) scanFlags |= SCAN_ALL; |
| 419 | if( find_option("temp",0,0)!=0 ) scanFlags |= SCAN_TEMP; |
| 420 | zIgnoreFlag = find_option("ignore",0,1); |
| 421 | zKeepFlag = find_option("keep",0,1); |
| 422 | testFlag = find_option("test",0,0)!=0; |
| 423 | db_must_be_within_tree(); |
| 424 | if( zIgnoreFlag==0 ){ |
| 425 | zIgnoreFlag = db_get("ignore-glob", 0); |
| 426 | } |
| 427 | if( zKeepFlag==0 ){ |
| 428 | zKeepFlag = db_get("keep-glob", 0); |
| 429 | } |
| 430 | db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)", |
| 431 | filename_collation()); |
| 432 | n = strlen(g.zLocalRoot); |
| 433 | blob_init(&path, g.zLocalRoot, n-1); |
| 434 | pIgnore = glob_create(zIgnoreFlag); |
| 435 | pKeep = glob_create(zKeepFlag); |
| 436 | vfile_scan(&path, blob_size(&path), scanFlags, pKeep); |
| 437 | glob_free(pKeep); |
| 438 | db_prepare(&q, |
| 439 | "SELECT %Q || x FROM sfile" |
| 440 | " WHERE x NOT IN (%s)" |
| 441 | " ORDER BY 1", |
| 442 | g.zLocalRoot, fossil_all_reserved_names(0) |
| 443 |
+18
-8
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -379,54 +379,64 @@ | ||
| 379 | 379 | ** Delete all "extra" files in the source tree. "Extra" files are |
| 380 | 380 | ** files that are not officially part of the checkout. This operation |
| 381 | 381 | ** cannot be undone. |
| 382 | 382 | ** |
| 383 | 383 | ** You will be prompted before removing each file, except for files |
| 384 | -** matching the pattern specified with --ignore. The GLOBPATTERN | |
| 384 | +** matching the patterns specified with --ignore and --keep. The GLOBPATTERN | |
| 385 | 385 | ** specified by the "ignore-glob" setting is used if the --ignore |
| 386 | -** option is omitted. If you are sure you wish to remove all "extra" | |
| 387 | -** files you can specify the optional --force flag and no prompts will | |
| 388 | -** be issued. | |
| 386 | +** option is omitted, the same with "keep-glob" and --keep. If you are | |
| 387 | +** sure you wish to remove all "extra" files except the ones specified | |
| 388 | +** with --keep, you can specify the optional --force flag and no prompts | |
| 389 | +** will be issued. If any file matches both --keep and --ignore, --keep | |
| 390 | +** takes precedence. | |
| 389 | 391 | ** |
| 390 | 392 | ** Files and subdirectories whose names begin with "." are |
| 391 | -** normally skipped. They are included if the "--dotfiles" option | |
| 393 | +** normally kept. They are handled if the "--dotfiles" option | |
| 392 | 394 | ** is used. |
| 393 | 395 | ** |
| 394 | 396 | ** Options: |
| 395 | 397 | ** --dotfiles include files beginning with a dot (".") |
| 396 | 398 | ** --force Remove files without prompting |
| 397 | 399 | ** --ignore <CSG> don't prompt for files matching this |
| 398 | 400 | ** comma separated list of glob patterns. |
| 401 | +** --keep <CSG> keep files matching this comma separated | |
| 402 | +** list of glob patterns. | |
| 399 | 403 | ** --temp Remove only Fossil-generated temporary files |
| 400 | 404 | ** |
| 401 | 405 | ** See also: addremove, extra, status |
| 402 | 406 | */ |
| 403 | 407 | void clean_cmd(void){ |
| 404 | 408 | int allFlag; |
| 405 | 409 | unsigned scanFlags = 0; |
| 406 | - const char *zIgnoreFlag; | |
| 410 | + const char *zIgnoreFlag, *zKeepFlag; | |
| 407 | 411 | Blob path, repo; |
| 408 | 412 | Stmt q; |
| 409 | 413 | int n; |
| 410 | - Glob *pIgnore; | |
| 414 | + Glob *pIgnore, *pKeep; | |
| 411 | 415 | int testFlag = 0; |
| 412 | 416 | |
| 413 | 417 | allFlag = find_option("force","f",0)!=0; |
| 414 | 418 | if( find_option("dotfiles",0,0)!=0 ) scanFlags |= SCAN_ALL; |
| 415 | 419 | if( find_option("temp",0,0)!=0 ) scanFlags |= SCAN_TEMP; |
| 416 | 420 | zIgnoreFlag = find_option("ignore",0,1); |
| 421 | + zKeepFlag = find_option("keep",0,1); | |
| 417 | 422 | testFlag = find_option("test",0,0)!=0; |
| 418 | 423 | db_must_be_within_tree(); |
| 419 | 424 | if( zIgnoreFlag==0 ){ |
| 420 | 425 | zIgnoreFlag = db_get("ignore-glob", 0); |
| 421 | 426 | } |
| 427 | + if( zKeepFlag==0 ){ | |
| 428 | + zKeepFlag = db_get("keep-glob", 0); | |
| 429 | + } | |
| 422 | 430 | db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)", |
| 423 | 431 | filename_collation()); |
| 424 | 432 | n = strlen(g.zLocalRoot); |
| 425 | 433 | blob_init(&path, g.zLocalRoot, n-1); |
| 426 | 434 | pIgnore = glob_create(zIgnoreFlag); |
| 427 | - vfile_scan(&path, blob_size(&path), scanFlags, NULL); | |
| 435 | + pKeep = glob_create(zKeepFlag); | |
| 436 | + vfile_scan(&path, blob_size(&path), scanFlags, pKeep); | |
| 437 | + glob_free(pKeep); | |
| 428 | 438 | db_prepare(&q, |
| 429 | 439 | "SELECT %Q || x FROM sfile" |
| 430 | 440 | " WHERE x NOT IN (%s)" |
| 431 | 441 | " ORDER BY 1", |
| 432 | 442 | g.zLocalRoot, fossil_all_reserved_names(0) |
| 433 | 443 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -379,54 +379,64 @@ | |
| 379 | ** Delete all "extra" files in the source tree. "Extra" files are |
| 380 | ** files that are not officially part of the checkout. This operation |
| 381 | ** cannot be undone. |
| 382 | ** |
| 383 | ** You will be prompted before removing each file, except for files |
| 384 | ** matching the pattern specified with --ignore. The GLOBPATTERN |
| 385 | ** specified by the "ignore-glob" setting is used if the --ignore |
| 386 | ** option is omitted. If you are sure you wish to remove all "extra" |
| 387 | ** files you can specify the optional --force flag and no prompts will |
| 388 | ** be issued. |
| 389 | ** |
| 390 | ** Files and subdirectories whose names begin with "." are |
| 391 | ** normally skipped. They are included if the "--dotfiles" option |
| 392 | ** is used. |
| 393 | ** |
| 394 | ** Options: |
| 395 | ** --dotfiles include files beginning with a dot (".") |
| 396 | ** --force Remove files without prompting |
| 397 | ** --ignore <CSG> don't prompt for files matching this |
| 398 | ** comma separated list of glob patterns. |
| 399 | ** --temp Remove only Fossil-generated temporary files |
| 400 | ** |
| 401 | ** See also: addremove, extra, status |
| 402 | */ |
| 403 | void clean_cmd(void){ |
| 404 | int allFlag; |
| 405 | unsigned scanFlags = 0; |
| 406 | const char *zIgnoreFlag; |
| 407 | Blob path, repo; |
| 408 | Stmt q; |
| 409 | int n; |
| 410 | Glob *pIgnore; |
| 411 | int testFlag = 0; |
| 412 | |
| 413 | allFlag = find_option("force","f",0)!=0; |
| 414 | if( find_option("dotfiles",0,0)!=0 ) scanFlags |= SCAN_ALL; |
| 415 | if( find_option("temp",0,0)!=0 ) scanFlags |= SCAN_TEMP; |
| 416 | zIgnoreFlag = find_option("ignore",0,1); |
| 417 | testFlag = find_option("test",0,0)!=0; |
| 418 | db_must_be_within_tree(); |
| 419 | if( zIgnoreFlag==0 ){ |
| 420 | zIgnoreFlag = db_get("ignore-glob", 0); |
| 421 | } |
| 422 | db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)", |
| 423 | filename_collation()); |
| 424 | n = strlen(g.zLocalRoot); |
| 425 | blob_init(&path, g.zLocalRoot, n-1); |
| 426 | pIgnore = glob_create(zIgnoreFlag); |
| 427 | vfile_scan(&path, blob_size(&path), scanFlags, NULL); |
| 428 | db_prepare(&q, |
| 429 | "SELECT %Q || x FROM sfile" |
| 430 | " WHERE x NOT IN (%s)" |
| 431 | " ORDER BY 1", |
| 432 | g.zLocalRoot, fossil_all_reserved_names(0) |
| 433 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -379,54 +379,64 @@ | |
| 379 | ** Delete all "extra" files in the source tree. "Extra" files are |
| 380 | ** files that are not officially part of the checkout. This operation |
| 381 | ** cannot be undone. |
| 382 | ** |
| 383 | ** You will be prompted before removing each file, except for files |
| 384 | ** matching the patterns specified with --ignore and --keep. The GLOBPATTERN |
| 385 | ** specified by the "ignore-glob" setting is used if the --ignore |
| 386 | ** option is omitted, the same with "keep-glob" and --keep. If you are |
| 387 | ** sure you wish to remove all "extra" files except the ones specified |
| 388 | ** with --keep, you can specify the optional --force flag and no prompts |
| 389 | ** will be issued. If any file matches both --keep and --ignore, --keep |
| 390 | ** takes precedence. |
| 391 | ** |
| 392 | ** Files and subdirectories whose names begin with "." are |
| 393 | ** normally kept. They are handled if the "--dotfiles" option |
| 394 | ** is used. |
| 395 | ** |
| 396 | ** Options: |
| 397 | ** --dotfiles include files beginning with a dot (".") |
| 398 | ** --force Remove files without prompting |
| 399 | ** --ignore <CSG> don't prompt for files matching this |
| 400 | ** comma separated list of glob patterns. |
| 401 | ** --keep <CSG> keep files matching this comma separated |
| 402 | ** list of glob patterns. |
| 403 | ** --temp Remove only Fossil-generated temporary files |
| 404 | ** |
| 405 | ** See also: addremove, extra, status |
| 406 | */ |
| 407 | void clean_cmd(void){ |
| 408 | int allFlag; |
| 409 | unsigned scanFlags = 0; |
| 410 | const char *zIgnoreFlag, *zKeepFlag; |
| 411 | Blob path, repo; |
| 412 | Stmt q; |
| 413 | int n; |
| 414 | Glob *pIgnore, *pKeep; |
| 415 | int testFlag = 0; |
| 416 | |
| 417 | allFlag = find_option("force","f",0)!=0; |
| 418 | if( find_option("dotfiles",0,0)!=0 ) scanFlags |= SCAN_ALL; |
| 419 | if( find_option("temp",0,0)!=0 ) scanFlags |= SCAN_TEMP; |
| 420 | zIgnoreFlag = find_option("ignore",0,1); |
| 421 | zKeepFlag = find_option("keep",0,1); |
| 422 | testFlag = find_option("test",0,0)!=0; |
| 423 | db_must_be_within_tree(); |
| 424 | if( zIgnoreFlag==0 ){ |
| 425 | zIgnoreFlag = db_get("ignore-glob", 0); |
| 426 | } |
| 427 | if( zKeepFlag==0 ){ |
| 428 | zKeepFlag = db_get("keep-glob", 0); |
| 429 | } |
| 430 | db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)", |
| 431 | filename_collation()); |
| 432 | n = strlen(g.zLocalRoot); |
| 433 | blob_init(&path, g.zLocalRoot, n-1); |
| 434 | pIgnore = glob_create(zIgnoreFlag); |
| 435 | pKeep = glob_create(zKeepFlag); |
| 436 | vfile_scan(&path, blob_size(&path), scanFlags, pKeep); |
| 437 | glob_free(pKeep); |
| 438 | db_prepare(&q, |
| 439 | "SELECT %Q || x FROM sfile" |
| 440 | " WHERE x NOT IN (%s)" |
| 441 | " ORDER BY 1", |
| 442 | g.zLocalRoot, fossil_all_reserved_names(0) |
| 443 |
+1
| --- src/configure.c | ||
| +++ src/configure.c | ||
| @@ -102,10 +102,11 @@ | ||
| 102 | 102 | { "project-name", CONFIGSET_PROJ }, |
| 103 | 103 | { "project-description", CONFIGSET_PROJ }, |
| 104 | 104 | { "manifest", CONFIGSET_PROJ }, |
| 105 | 105 | { "binary-glob", CONFIGSET_PROJ }, |
| 106 | 106 | { "ignore-glob", CONFIGSET_PROJ }, |
| 107 | + { "keep-glob", CONFIGSET_PROJ }, | |
| 107 | 108 | { "crnl-glob", CONFIGSET_PROJ }, |
| 108 | 109 | { "encoding-glob", CONFIGSET_PROJ }, |
| 109 | 110 | { "empty-dirs", CONFIGSET_PROJ }, |
| 110 | 111 | { "allow-symlinks", CONFIGSET_PROJ }, |
| 111 | 112 | |
| 112 | 113 |
| --- src/configure.c | |
| +++ src/configure.c | |
| @@ -102,10 +102,11 @@ | |
| 102 | { "project-name", CONFIGSET_PROJ }, |
| 103 | { "project-description", CONFIGSET_PROJ }, |
| 104 | { "manifest", CONFIGSET_PROJ }, |
| 105 | { "binary-glob", CONFIGSET_PROJ }, |
| 106 | { "ignore-glob", CONFIGSET_PROJ }, |
| 107 | { "crnl-glob", CONFIGSET_PROJ }, |
| 108 | { "encoding-glob", CONFIGSET_PROJ }, |
| 109 | { "empty-dirs", CONFIGSET_PROJ }, |
| 110 | { "allow-symlinks", CONFIGSET_PROJ }, |
| 111 | |
| 112 |
| --- src/configure.c | |
| +++ src/configure.c | |
| @@ -102,10 +102,11 @@ | |
| 102 | { "project-name", CONFIGSET_PROJ }, |
| 103 | { "project-description", CONFIGSET_PROJ }, |
| 104 | { "manifest", CONFIGSET_PROJ }, |
| 105 | { "binary-glob", CONFIGSET_PROJ }, |
| 106 | { "ignore-glob", CONFIGSET_PROJ }, |
| 107 | { "keep-glob", CONFIGSET_PROJ }, |
| 108 | { "crnl-glob", CONFIGSET_PROJ }, |
| 109 | { "encoding-glob", CONFIGSET_PROJ }, |
| 110 | { "empty-dirs", CONFIGSET_PROJ }, |
| 111 | { "allow-symlinks", CONFIGSET_PROJ }, |
| 112 | |
| 113 |
+1
| --- src/configure.c | ||
| +++ src/configure.c | ||
| @@ -102,10 +102,11 @@ | ||
| 102 | 102 | { "project-name", CONFIGSET_PROJ }, |
| 103 | 103 | { "project-description", CONFIGSET_PROJ }, |
| 104 | 104 | { "manifest", CONFIGSET_PROJ }, |
| 105 | 105 | { "binary-glob", CONFIGSET_PROJ }, |
| 106 | 106 | { "ignore-glob", CONFIGSET_PROJ }, |
| 107 | + { "keep-glob", CONFIGSET_PROJ }, | |
| 107 | 108 | { "crnl-glob", CONFIGSET_PROJ }, |
| 108 | 109 | { "encoding-glob", CONFIGSET_PROJ }, |
| 109 | 110 | { "empty-dirs", CONFIGSET_PROJ }, |
| 110 | 111 | { "allow-symlinks", CONFIGSET_PROJ }, |
| 111 | 112 | |
| 112 | 113 |
| --- src/configure.c | |
| +++ src/configure.c | |
| @@ -102,10 +102,11 @@ | |
| 102 | { "project-name", CONFIGSET_PROJ }, |
| 103 | { "project-description", CONFIGSET_PROJ }, |
| 104 | { "manifest", CONFIGSET_PROJ }, |
| 105 | { "binary-glob", CONFIGSET_PROJ }, |
| 106 | { "ignore-glob", CONFIGSET_PROJ }, |
| 107 | { "crnl-glob", CONFIGSET_PROJ }, |
| 108 | { "encoding-glob", CONFIGSET_PROJ }, |
| 109 | { "empty-dirs", CONFIGSET_PROJ }, |
| 110 | { "allow-symlinks", CONFIGSET_PROJ }, |
| 111 | |
| 112 |
| --- src/configure.c | |
| +++ src/configure.c | |
| @@ -102,10 +102,11 @@ | |
| 102 | { "project-name", CONFIGSET_PROJ }, |
| 103 | { "project-description", CONFIGSET_PROJ }, |
| 104 | { "manifest", CONFIGSET_PROJ }, |
| 105 | { "binary-glob", CONFIGSET_PROJ }, |
| 106 | { "ignore-glob", CONFIGSET_PROJ }, |
| 107 | { "keep-glob", CONFIGSET_PROJ }, |
| 108 | { "crnl-glob", CONFIGSET_PROJ }, |
| 109 | { "encoding-glob", CONFIGSET_PROJ }, |
| 110 | { "empty-dirs", CONFIGSET_PROJ }, |
| 111 | { "allow-symlinks", CONFIGSET_PROJ }, |
| 112 | |
| 113 |
M
src/db.c
+5
| --- src/db.c | ||
| +++ src/db.c | ||
| @@ -2103,10 +2103,11 @@ | ||
| 2103 | 2103 | { "gdiff-command", 0, 40, 0, "gdiff" }, |
| 2104 | 2104 | { "gmerge-command",0, 40, 0, "" }, |
| 2105 | 2105 | { "http-port", 0, 16, 0, "8080" }, |
| 2106 | 2106 | { "https-login", 0, 0, 0, "off" }, |
| 2107 | 2107 | { "ignore-glob", 0, 40, 1, "" }, |
| 2108 | + { "keep-glob", 0, 40, 1, "" }, | |
| 2108 | 2109 | { "localauth", 0, 0, 0, "off" }, |
| 2109 | 2110 | { "main-branch", 0, 40, 0, "trunk" }, |
| 2110 | 2111 | { "manifest", 0, 0, 1, "off" }, |
| 2111 | 2112 | #ifdef FOSSIL_ENABLE_MARKDOWN |
| 2112 | 2113 | { "markdown", 0, 0, 0, "off" }, |
| @@ -2236,10 +2237,14 @@ | ||
| 2236 | 2237 | ** even if the login page request came via HTTP. |
| 2237 | 2238 | ** |
| 2238 | 2239 | ** ignore-glob The VALUE is a comma or newline-separated list of GLOB |
| 2239 | 2240 | ** (versionable) patterns specifying files that the "extra" command will |
| 2240 | 2241 | ** ignore. Example: *.o,*.obj,*.exe |
| 2242 | +** | |
| 2243 | +** keep-glob The VALUE is a comma or newline-separated list of GLOB | |
| 2244 | +** (versionable) patterns specifying files that the "clean" command will | |
| 2245 | +** keep. Example: *.log | |
| 2241 | 2246 | ** |
| 2242 | 2247 | ** localauth If enabled, require that HTTP connections from |
| 2243 | 2248 | ** 127.0.0.1 be authenticated by password. If |
| 2244 | 2249 | ** false, all HTTP requests from localhost have |
| 2245 | 2250 | ** unrestricted access to the repository. |
| 2246 | 2251 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -2103,10 +2103,11 @@ | |
| 2103 | { "gdiff-command", 0, 40, 0, "gdiff" }, |
| 2104 | { "gmerge-command",0, 40, 0, "" }, |
| 2105 | { "http-port", 0, 16, 0, "8080" }, |
| 2106 | { "https-login", 0, 0, 0, "off" }, |
| 2107 | { "ignore-glob", 0, 40, 1, "" }, |
| 2108 | { "localauth", 0, 0, 0, "off" }, |
| 2109 | { "main-branch", 0, 40, 0, "trunk" }, |
| 2110 | { "manifest", 0, 0, 1, "off" }, |
| 2111 | #ifdef FOSSIL_ENABLE_MARKDOWN |
| 2112 | { "markdown", 0, 0, 0, "off" }, |
| @@ -2236,10 +2237,14 @@ | |
| 2236 | ** even if the login page request came via HTTP. |
| 2237 | ** |
| 2238 | ** ignore-glob The VALUE is a comma or newline-separated list of GLOB |
| 2239 | ** (versionable) patterns specifying files that the "extra" command will |
| 2240 | ** ignore. Example: *.o,*.obj,*.exe |
| 2241 | ** |
| 2242 | ** localauth If enabled, require that HTTP connections from |
| 2243 | ** 127.0.0.1 be authenticated by password. If |
| 2244 | ** false, all HTTP requests from localhost have |
| 2245 | ** unrestricted access to the repository. |
| 2246 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -2103,10 +2103,11 @@ | |
| 2103 | { "gdiff-command", 0, 40, 0, "gdiff" }, |
| 2104 | { "gmerge-command",0, 40, 0, "" }, |
| 2105 | { "http-port", 0, 16, 0, "8080" }, |
| 2106 | { "https-login", 0, 0, 0, "off" }, |
| 2107 | { "ignore-glob", 0, 40, 1, "" }, |
| 2108 | { "keep-glob", 0, 40, 1, "" }, |
| 2109 | { "localauth", 0, 0, 0, "off" }, |
| 2110 | { "main-branch", 0, 40, 0, "trunk" }, |
| 2111 | { "manifest", 0, 0, 1, "off" }, |
| 2112 | #ifdef FOSSIL_ENABLE_MARKDOWN |
| 2113 | { "markdown", 0, 0, 0, "off" }, |
| @@ -2236,10 +2237,14 @@ | |
| 2237 | ** even if the login page request came via HTTP. |
| 2238 | ** |
| 2239 | ** ignore-glob The VALUE is a comma or newline-separated list of GLOB |
| 2240 | ** (versionable) patterns specifying files that the "extra" command will |
| 2241 | ** ignore. Example: *.o,*.obj,*.exe |
| 2242 | ** |
| 2243 | ** keep-glob The VALUE is a comma or newline-separated list of GLOB |
| 2244 | ** (versionable) patterns specifying files that the "clean" command will |
| 2245 | ** keep. Example: *.log |
| 2246 | ** |
| 2247 | ** localauth If enabled, require that HTTP connections from |
| 2248 | ** 127.0.0.1 be authenticated by password. If |
| 2249 | ** false, all HTTP requests from localhost have |
| 2250 | ** unrestricted access to the repository. |
| 2251 |
M
src/db.c
+5
| --- src/db.c | ||
| +++ src/db.c | ||
| @@ -2103,10 +2103,11 @@ | ||
| 2103 | 2103 | { "gdiff-command", 0, 40, 0, "gdiff" }, |
| 2104 | 2104 | { "gmerge-command",0, 40, 0, "" }, |
| 2105 | 2105 | { "http-port", 0, 16, 0, "8080" }, |
| 2106 | 2106 | { "https-login", 0, 0, 0, "off" }, |
| 2107 | 2107 | { "ignore-glob", 0, 40, 1, "" }, |
| 2108 | + { "keep-glob", 0, 40, 1, "" }, | |
| 2108 | 2109 | { "localauth", 0, 0, 0, "off" }, |
| 2109 | 2110 | { "main-branch", 0, 40, 0, "trunk" }, |
| 2110 | 2111 | { "manifest", 0, 0, 1, "off" }, |
| 2111 | 2112 | #ifdef FOSSIL_ENABLE_MARKDOWN |
| 2112 | 2113 | { "markdown", 0, 0, 0, "off" }, |
| @@ -2236,10 +2237,14 @@ | ||
| 2236 | 2237 | ** even if the login page request came via HTTP. |
| 2237 | 2238 | ** |
| 2238 | 2239 | ** ignore-glob The VALUE is a comma or newline-separated list of GLOB |
| 2239 | 2240 | ** (versionable) patterns specifying files that the "extra" command will |
| 2240 | 2241 | ** ignore. Example: *.o,*.obj,*.exe |
| 2242 | +** | |
| 2243 | +** keep-glob The VALUE is a comma or newline-separated list of GLOB | |
| 2244 | +** (versionable) patterns specifying files that the "clean" command will | |
| 2245 | +** keep. Example: *.log | |
| 2241 | 2246 | ** |
| 2242 | 2247 | ** localauth If enabled, require that HTTP connections from |
| 2243 | 2248 | ** 127.0.0.1 be authenticated by password. If |
| 2244 | 2249 | ** false, all HTTP requests from localhost have |
| 2245 | 2250 | ** unrestricted access to the repository. |
| 2246 | 2251 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -2103,10 +2103,11 @@ | |
| 2103 | { "gdiff-command", 0, 40, 0, "gdiff" }, |
| 2104 | { "gmerge-command",0, 40, 0, "" }, |
| 2105 | { "http-port", 0, 16, 0, "8080" }, |
| 2106 | { "https-login", 0, 0, 0, "off" }, |
| 2107 | { "ignore-glob", 0, 40, 1, "" }, |
| 2108 | { "localauth", 0, 0, 0, "off" }, |
| 2109 | { "main-branch", 0, 40, 0, "trunk" }, |
| 2110 | { "manifest", 0, 0, 1, "off" }, |
| 2111 | #ifdef FOSSIL_ENABLE_MARKDOWN |
| 2112 | { "markdown", 0, 0, 0, "off" }, |
| @@ -2236,10 +2237,14 @@ | |
| 2236 | ** even if the login page request came via HTTP. |
| 2237 | ** |
| 2238 | ** ignore-glob The VALUE is a comma or newline-separated list of GLOB |
| 2239 | ** (versionable) patterns specifying files that the "extra" command will |
| 2240 | ** ignore. Example: *.o,*.obj,*.exe |
| 2241 | ** |
| 2242 | ** localauth If enabled, require that HTTP connections from |
| 2243 | ** 127.0.0.1 be authenticated by password. If |
| 2244 | ** false, all HTTP requests from localhost have |
| 2245 | ** unrestricted access to the repository. |
| 2246 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -2103,10 +2103,11 @@ | |
| 2103 | { "gdiff-command", 0, 40, 0, "gdiff" }, |
| 2104 | { "gmerge-command",0, 40, 0, "" }, |
| 2105 | { "http-port", 0, 16, 0, "8080" }, |
| 2106 | { "https-login", 0, 0, 0, "off" }, |
| 2107 | { "ignore-glob", 0, 40, 1, "" }, |
| 2108 | { "keep-glob", 0, 40, 1, "" }, |
| 2109 | { "localauth", 0, 0, 0, "off" }, |
| 2110 | { "main-branch", 0, 40, 0, "trunk" }, |
| 2111 | { "manifest", 0, 0, 1, "off" }, |
| 2112 | #ifdef FOSSIL_ENABLE_MARKDOWN |
| 2113 | { "markdown", 0, 0, 0, "off" }, |
| @@ -2236,10 +2237,14 @@ | |
| 2237 | ** even if the login page request came via HTTP. |
| 2238 | ** |
| 2239 | ** ignore-glob The VALUE is a comma or newline-separated list of GLOB |
| 2240 | ** (versionable) patterns specifying files that the "extra" command will |
| 2241 | ** ignore. Example: *.o,*.obj,*.exe |
| 2242 | ** |
| 2243 | ** keep-glob The VALUE is a comma or newline-separated list of GLOB |
| 2244 | ** (versionable) patterns specifying files that the "clean" command will |
| 2245 | ** keep. Example: *.log |
| 2246 | ** |
| 2247 | ** localauth If enabled, require that HTTP connections from |
| 2248 | ** 127.0.0.1 be authenticated by password. If |
| 2249 | ** false, all HTTP requests from localhost have |
| 2250 | ** unrestricted access to the repository. |
| 2251 |
+1
| --- src/json_config.c | ||
| +++ src/json_config.c | ||
| @@ -64,10 +64,11 @@ | ||
| 64 | 64 | |
| 65 | 65 | { "project-name", CONFIGSET_PROJ }, |
| 66 | 66 | { "project-description", CONFIGSET_PROJ }, |
| 67 | 67 | { "manifest", CONFIGSET_PROJ }, |
| 68 | 68 | { "ignore-glob", CONFIGSET_PROJ }, |
| 69 | +{ "keep-glob", CONFIGSET_PROJ }, | |
| 69 | 70 | { "crnl-glob", CONFIGSET_PROJ }, |
| 70 | 71 | { "empty-dirs", CONFIGSET_PROJ }, |
| 71 | 72 | { "allow-symlinks", CONFIGSET_PROJ }, |
| 72 | 73 | |
| 73 | 74 | { "ticket-table", CONFIGSET_TKT }, |
| 74 | 75 |
| --- src/json_config.c | |
| +++ src/json_config.c | |
| @@ -64,10 +64,11 @@ | |
| 64 | |
| 65 | { "project-name", CONFIGSET_PROJ }, |
| 66 | { "project-description", CONFIGSET_PROJ }, |
| 67 | { "manifest", CONFIGSET_PROJ }, |
| 68 | { "ignore-glob", CONFIGSET_PROJ }, |
| 69 | { "crnl-glob", CONFIGSET_PROJ }, |
| 70 | { "empty-dirs", CONFIGSET_PROJ }, |
| 71 | { "allow-symlinks", CONFIGSET_PROJ }, |
| 72 | |
| 73 | { "ticket-table", CONFIGSET_TKT }, |
| 74 |
| --- src/json_config.c | |
| +++ src/json_config.c | |
| @@ -64,10 +64,11 @@ | |
| 64 | |
| 65 | { "project-name", CONFIGSET_PROJ }, |
| 66 | { "project-description", CONFIGSET_PROJ }, |
| 67 | { "manifest", CONFIGSET_PROJ }, |
| 68 | { "ignore-glob", CONFIGSET_PROJ }, |
| 69 | { "keep-glob", CONFIGSET_PROJ }, |
| 70 | { "crnl-glob", CONFIGSET_PROJ }, |
| 71 | { "empty-dirs", CONFIGSET_PROJ }, |
| 72 | { "allow-symlinks", CONFIGSET_PROJ }, |
| 73 | |
| 74 | { "ticket-table", CONFIGSET_TKT }, |
| 75 |
+1
| --- src/json_config.c | ||
| +++ src/json_config.c | ||
| @@ -64,10 +64,11 @@ | ||
| 64 | 64 | |
| 65 | 65 | { "project-name", CONFIGSET_PROJ }, |
| 66 | 66 | { "project-description", CONFIGSET_PROJ }, |
| 67 | 67 | { "manifest", CONFIGSET_PROJ }, |
| 68 | 68 | { "ignore-glob", CONFIGSET_PROJ }, |
| 69 | +{ "keep-glob", CONFIGSET_PROJ }, | |
| 69 | 70 | { "crnl-glob", CONFIGSET_PROJ }, |
| 70 | 71 | { "empty-dirs", CONFIGSET_PROJ }, |
| 71 | 72 | { "allow-symlinks", CONFIGSET_PROJ }, |
| 72 | 73 | |
| 73 | 74 | { "ticket-table", CONFIGSET_TKT }, |
| 74 | 75 |
| --- src/json_config.c | |
| +++ src/json_config.c | |
| @@ -64,10 +64,11 @@ | |
| 64 | |
| 65 | { "project-name", CONFIGSET_PROJ }, |
| 66 | { "project-description", CONFIGSET_PROJ }, |
| 67 | { "manifest", CONFIGSET_PROJ }, |
| 68 | { "ignore-glob", CONFIGSET_PROJ }, |
| 69 | { "crnl-glob", CONFIGSET_PROJ }, |
| 70 | { "empty-dirs", CONFIGSET_PROJ }, |
| 71 | { "allow-symlinks", CONFIGSET_PROJ }, |
| 72 | |
| 73 | { "ticket-table", CONFIGSET_TKT }, |
| 74 |
| --- src/json_config.c | |
| +++ src/json_config.c | |
| @@ -64,10 +64,11 @@ | |
| 64 | |
| 65 | { "project-name", CONFIGSET_PROJ }, |
| 66 | { "project-description", CONFIGSET_PROJ }, |
| 67 | { "manifest", CONFIGSET_PROJ }, |
| 68 | { "ignore-glob", CONFIGSET_PROJ }, |
| 69 | { "keep-glob", CONFIGSET_PROJ }, |
| 70 | { "crnl-glob", CONFIGSET_PROJ }, |
| 71 | { "empty-dirs", CONFIGSET_PROJ }, |
| 72 | { "allow-symlinks", CONFIGSET_PROJ }, |
| 73 | |
| 74 | { "ticket-table", CONFIGSET_TKT }, |
| 75 |