Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Enhance the fossil_reserved_name() function to include the repository filename and its journals and auxiliary files. Ticket [7d790e7e5e0f701e01]. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
8b06be709f13c55bf06eaec9bd753afb |
| User & Date: | drh 2012-11-10 00:26:26.196 |
Context
|
2012-11-10
| ||
| 01:12 | Reverse the labels on the Add/Delete indentation buttons in the Wysiwyg editor. Ticket [9d4cb9cf117b10a68] ... (check-in: 449947b7d6 user: drh tags: trunk) | |
| 00:26 | Enhance the fossil_reserved_name() function to include the repository filename and its journals and auxiliary files. Ticket [7d790e7e5e0f701e01]. ... (check-in: 8b06be709f user: drh tags: trunk) | |
|
2012-11-09
| ||
| 23:35 | Pull the latest SQLite from upstream for testing purposes. ... (check-in: 50c534ee53 user: drh tags: trunk) | |
Changes
Changes to src/add.c.
| ︙ | ︙ | |||
58 59 60 61 62 63 64 65 66 67 68 69 |
** property is enabled
*/
static const char *const azManifest[] = {
"manifest",
"manifest.uuid",
};
/* Cached setting "manifest" */
static int cachedManifest = -1;
if( cachedManifest == -1 ){
cachedManifest = db_get_boolean("manifest",0);
| > > > > > > > > > > > > > | | > > | | | | > > | 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
** property is enabled
*/
static const char *const azManifest[] = {
"manifest",
"manifest.uuid",
};
/*
** Names of repository files, if they exist in the checkout.
*/
static const char *azRepo[4] = { 0, 0, 0, 0 };
/* Cached setting "manifest" */
static int cachedManifest = -1;
if( cachedManifest == -1 ){
Blob repo;
cachedManifest = db_get_boolean("manifest",0);
blob_zero(&repo);
if( file_tree_name(g.zRepositoryName, &repo, 0) ){
const char *zRepo = blob_str(&repo);
azRepo[0] = zRepo;
azRepo[1] = mprintf("%s-journal", zRepo);
azRepo[2] = mprintf("%s-wal", zRepo);
azRepo[3] = mprintf("%s-shm", zRepo);
}
}
if( N<0 ) return 0;
if( N<count(azName) ) return azName[N];
N -= count(azName);
if( cachedManifest ){
if( N<count(azManifest) ) return azManifest[N];
N -= count(azManifest);
}
if( N<count(azRepo) ) return azRepo[N];
return 0;
}
/*
** Return a list of all reserved filenames as an SQL list.
*/
const char *fossil_all_reserved_names(void){
|
| ︙ | ︙ | |||
91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
if( i>0 ) blob_append(&x, ",", 1);
blob_appendf(&x, "'%q'", z);
}
zAll = blob_str(&x);
}
return zAll;
}
/*
** Add a single file named zName to the VFILE table with vid.
**
** Omit any file whose name is pOmit.
*/
static int add_one_file(
| > > > > > > > > > > > > > > > | 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
if( i>0 ) blob_append(&x, ",", 1);
blob_appendf(&x, "'%q'", z);
}
zAll = blob_str(&x);
}
return zAll;
}
/*
** COMMAND: test-reserved-names
**
** Show all reserved filenames for the current check-out.
*/
void test_reserved_names(void){
int i;
const char *z;
db_must_be_within_tree();
for(i=0; (z = fossil_reserved_name(i))!=0; i++){
fossil_print("%3d: %s\n", i, z);
}
fossil_print("ALL: (%s)\n", fossil_all_reserved_names());
}
/*
** Add a single file named zName to the VFILE table with vid.
**
** Omit any file whose name is pOmit.
*/
static int add_one_file(
|
| ︙ | ︙ |
Changes to src/checkin.c.
| ︙ | ︙ | |||
322 323 324 325 326 327 328 |
** --rel-paths Display pathnames relative to the current working
** directory.
**
** See also: changes, clean, status
*/
void extra_cmd(void){
Blob path;
| < | 322 323 324 325 326 327 328 329 330 331 332 333 334 335 |
** --rel-paths Display pathnames relative to the current working
** directory.
**
** See also: changes, clean, status
*/
void extra_cmd(void){
Blob path;
Stmt q;
int n;
const char *zIgnoreFlag = find_option("ignore",0,1);
unsigned scanFlags = find_option("dotfiles",0,0)!=0 ? SCAN_ALL : 0;
int cwdRelative = 0;
Glob *pIgnore;
Blob rewrittenPathname;
|
| ︙ | ︙ | |||
351 352 353 354 355 356 357 |
glob_free(pIgnore);
db_prepare(&q,
"SELECT x FROM sfile"
" WHERE x NOT IN (%s)"
" ORDER BY 1",
fossil_all_reserved_names()
);
| < < < | 350 351 352 353 354 355 356 357 358 359 360 361 362 363 |
glob_free(pIgnore);
db_prepare(&q,
"SELECT x FROM sfile"
" WHERE x NOT IN (%s)"
" ORDER BY 1",
fossil_all_reserved_names()
);
db_multi_exec("DELETE FROM sfile WHERE x IN (SELECT pathname FROM vfile)");
blob_zero(&rewrittenPathname);
while( db_step(&q)==SQLITE_ROW ){
zDisplayName = zPathname = db_column_text(&q, 0);
if( cwdRelative ) {
char *zFullName = mprintf("%s%s", g.zLocalRoot, zPathname);
file_relative_name(zFullName, &rewrittenPathname, 0);
|
| ︙ | ︙ |