Fossil SCM

Add --keep option to "fossil clean", and versionable "keep-glob" setting

jan.nijtmans 2013-03-12 15:48 clean-with-ignore merge
Commit 6c72cab73ca1f51bd25ab44717aa3f940e61beed
--- 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 @@
379379
** Delete all "extra" files in the source tree. "Extra" files are
380380
** files that are not officially part of the checkout. This operation
381381
** cannot be undone.
382382
**
383383
** 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
385385
** 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.
389391
**
390392
** 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
392394
** is used.
393395
**
394396
** Options:
395397
** --dotfiles include files beginning with a dot (".")
396398
** --force Remove files without prompting
397399
** --ignore <CSG> don't prompt for files matching this
398400
** comma separated list of glob patterns.
401
+** --keep <CSG> keep files matching this comma separated
402
+** list of glob patterns.
399403
** --temp Remove only Fossil-generated temporary files
400404
**
401405
** See also: addremove, extra, status
402406
*/
403407
void clean_cmd(void){
404408
int allFlag;
405409
unsigned scanFlags = 0;
406
- const char *zIgnoreFlag;
410
+ const char *zIgnoreFlag, *zKeepFlag;
407411
Blob path, repo;
408412
Stmt q;
409413
int n;
410
- Glob *pIgnore;
414
+ Glob *pIgnore, *pKeep;
411415
int testFlag = 0;
412416
413417
allFlag = find_option("force","f",0)!=0;
414418
if( find_option("dotfiles",0,0)!=0 ) scanFlags |= SCAN_ALL;
415419
if( find_option("temp",0,0)!=0 ) scanFlags |= SCAN_TEMP;
416420
zIgnoreFlag = find_option("ignore",0,1);
421
+ zKeepFlag = find_option("keep",0,1);
417422
testFlag = find_option("test",0,0)!=0;
418423
db_must_be_within_tree();
419424
if( zIgnoreFlag==0 ){
420425
zIgnoreFlag = db_get("ignore-glob", 0);
421426
}
427
+ if( zKeepFlag==0 ){
428
+ zKeepFlag = db_get("keep-glob", 0);
429
+ }
422430
db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)",
423431
filename_collation());
424432
n = strlen(g.zLocalRoot);
425433
blob_init(&path, g.zLocalRoot, n-1);
426434
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);
428438
db_prepare(&q,
429439
"SELECT %Q || x FROM sfile"
430440
" WHERE x NOT IN (%s)"
431441
" ORDER BY 1",
432442
g.zLocalRoot, fossil_all_reserved_names(0)
433443
--- 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 @@
379379
** Delete all "extra" files in the source tree. "Extra" files are
380380
** files that are not officially part of the checkout. This operation
381381
** cannot be undone.
382382
**
383383
** 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
385385
** 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.
389391
**
390392
** 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
392394
** is used.
393395
**
394396
** Options:
395397
** --dotfiles include files beginning with a dot (".")
396398
** --force Remove files without prompting
397399
** --ignore <CSG> don't prompt for files matching this
398400
** comma separated list of glob patterns.
401
+** --keep <CSG> keep files matching this comma separated
402
+** list of glob patterns.
399403
** --temp Remove only Fossil-generated temporary files
400404
**
401405
** See also: addremove, extra, status
402406
*/
403407
void clean_cmd(void){
404408
int allFlag;
405409
unsigned scanFlags = 0;
406
- const char *zIgnoreFlag;
410
+ const char *zIgnoreFlag, *zKeepFlag;
407411
Blob path, repo;
408412
Stmt q;
409413
int n;
410
- Glob *pIgnore;
414
+ Glob *pIgnore, *pKeep;
411415
int testFlag = 0;
412416
413417
allFlag = find_option("force","f",0)!=0;
414418
if( find_option("dotfiles",0,0)!=0 ) scanFlags |= SCAN_ALL;
415419
if( find_option("temp",0,0)!=0 ) scanFlags |= SCAN_TEMP;
416420
zIgnoreFlag = find_option("ignore",0,1);
421
+ zKeepFlag = find_option("keep",0,1);
417422
testFlag = find_option("test",0,0)!=0;
418423
db_must_be_within_tree();
419424
if( zIgnoreFlag==0 ){
420425
zIgnoreFlag = db_get("ignore-glob", 0);
421426
}
427
+ if( zKeepFlag==0 ){
428
+ zKeepFlag = db_get("keep-glob", 0);
429
+ }
422430
db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)",
423431
filename_collation());
424432
n = strlen(g.zLocalRoot);
425433
blob_init(&path, g.zLocalRoot, n-1);
426434
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);
428438
db_prepare(&q,
429439
"SELECT %Q || x FROM sfile"
430440
" WHERE x NOT IN (%s)"
431441
" ORDER BY 1",
432442
g.zLocalRoot, fossil_all_reserved_names(0)
433443
--- 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
--- src/configure.c
+++ src/configure.c
@@ -102,10 +102,11 @@
102102
{ "project-name", CONFIGSET_PROJ },
103103
{ "project-description", CONFIGSET_PROJ },
104104
{ "manifest", CONFIGSET_PROJ },
105105
{ "binary-glob", CONFIGSET_PROJ },
106106
{ "ignore-glob", CONFIGSET_PROJ },
107
+ { "keep-glob", CONFIGSET_PROJ },
107108
{ "crnl-glob", CONFIGSET_PROJ },
108109
{ "encoding-glob", CONFIGSET_PROJ },
109110
{ "empty-dirs", CONFIGSET_PROJ },
110111
{ "allow-symlinks", CONFIGSET_PROJ },
111112
112113
--- 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
--- src/configure.c
+++ src/configure.c
@@ -102,10 +102,11 @@
102102
{ "project-name", CONFIGSET_PROJ },
103103
{ "project-description", CONFIGSET_PROJ },
104104
{ "manifest", CONFIGSET_PROJ },
105105
{ "binary-glob", CONFIGSET_PROJ },
106106
{ "ignore-glob", CONFIGSET_PROJ },
107
+ { "keep-glob", CONFIGSET_PROJ },
107108
{ "crnl-glob", CONFIGSET_PROJ },
108109
{ "encoding-glob", CONFIGSET_PROJ },
109110
{ "empty-dirs", CONFIGSET_PROJ },
110111
{ "allow-symlinks", CONFIGSET_PROJ },
111112
112113
--- 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
+5
--- src/db.c
+++ src/db.c
@@ -2103,10 +2103,11 @@
21032103
{ "gdiff-command", 0, 40, 0, "gdiff" },
21042104
{ "gmerge-command",0, 40, 0, "" },
21052105
{ "http-port", 0, 16, 0, "8080" },
21062106
{ "https-login", 0, 0, 0, "off" },
21072107
{ "ignore-glob", 0, 40, 1, "" },
2108
+ { "keep-glob", 0, 40, 1, "" },
21082109
{ "localauth", 0, 0, 0, "off" },
21092110
{ "main-branch", 0, 40, 0, "trunk" },
21102111
{ "manifest", 0, 0, 1, "off" },
21112112
#ifdef FOSSIL_ENABLE_MARKDOWN
21122113
{ "markdown", 0, 0, 0, "off" },
@@ -2236,10 +2237,14 @@
22362237
** even if the login page request came via HTTP.
22372238
**
22382239
** ignore-glob The VALUE is a comma or newline-separated list of GLOB
22392240
** (versionable) patterns specifying files that the "extra" command will
22402241
** 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
22412246
**
22422247
** localauth If enabled, require that HTTP connections from
22432248
** 127.0.0.1 be authenticated by password. If
22442249
** false, all HTTP requests from localhost have
22452250
** unrestricted access to the repository.
22462251
--- 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
+5
--- src/db.c
+++ src/db.c
@@ -2103,10 +2103,11 @@
21032103
{ "gdiff-command", 0, 40, 0, "gdiff" },
21042104
{ "gmerge-command",0, 40, 0, "" },
21052105
{ "http-port", 0, 16, 0, "8080" },
21062106
{ "https-login", 0, 0, 0, "off" },
21072107
{ "ignore-glob", 0, 40, 1, "" },
2108
+ { "keep-glob", 0, 40, 1, "" },
21082109
{ "localauth", 0, 0, 0, "off" },
21092110
{ "main-branch", 0, 40, 0, "trunk" },
21102111
{ "manifest", 0, 0, 1, "off" },
21112112
#ifdef FOSSIL_ENABLE_MARKDOWN
21122113
{ "markdown", 0, 0, 0, "off" },
@@ -2236,10 +2237,14 @@
22362237
** even if the login page request came via HTTP.
22372238
**
22382239
** ignore-glob The VALUE is a comma or newline-separated list of GLOB
22392240
** (versionable) patterns specifying files that the "extra" command will
22402241
** 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
22412246
**
22422247
** localauth If enabled, require that HTTP connections from
22432248
** 127.0.0.1 be authenticated by password. If
22442249
** false, all HTTP requests from localhost have
22452250
** unrestricted access to the repository.
22462251
--- 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
--- src/json_config.c
+++ src/json_config.c
@@ -64,10 +64,11 @@
6464
6565
{ "project-name", CONFIGSET_PROJ },
6666
{ "project-description", CONFIGSET_PROJ },
6767
{ "manifest", CONFIGSET_PROJ },
6868
{ "ignore-glob", CONFIGSET_PROJ },
69
+{ "keep-glob", CONFIGSET_PROJ },
6970
{ "crnl-glob", CONFIGSET_PROJ },
7071
{ "empty-dirs", CONFIGSET_PROJ },
7172
{ "allow-symlinks", CONFIGSET_PROJ },
7273
7374
{ "ticket-table", CONFIGSET_TKT },
7475
--- 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
--- src/json_config.c
+++ src/json_config.c
@@ -64,10 +64,11 @@
6464
6565
{ "project-name", CONFIGSET_PROJ },
6666
{ "project-description", CONFIGSET_PROJ },
6767
{ "manifest", CONFIGSET_PROJ },
6868
{ "ignore-glob", CONFIGSET_PROJ },
69
+{ "keep-glob", CONFIGSET_PROJ },
6970
{ "crnl-glob", CONFIGSET_PROJ },
7071
{ "empty-dirs", CONFIGSET_PROJ },
7172
{ "allow-symlinks", CONFIGSET_PROJ },
7273
7374
{ "ticket-table", CONFIGSET_TKT },
7475
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button