Fossil SCM

Prevent adding special files _FOSSIL_-journal, .fos, and .fos-journal to the repository. Ticket [97d8f830b7e5e2]

drh 2010-05-09 16:49 trunk
Commit c193d2c2e0fe513a5a0f16528d9c3e1e4d648577
2 files changed +3 +4 -2
+3
--- src/add.c
+++ src/add.c
@@ -44,10 +44,13 @@
4444
4545
file_tree_name(zName, &pathname, 1);
4646
zPath = blob_str(&pathname);
4747
if( strcmp(zPath, "manifest")==0
4848
|| strcmp(zPath, "_FOSSIL_")==0
49
+ || strcmp(zPath, "_FOSSIL_-journal")==0
50
+ || strcmp(zPath, ".fos")==0
51
+ || strcmp(zPath, ".fos-journal")==0
4952
|| strcmp(zPath, "manifest.uuid")==0
5053
|| blob_compare(&pathname, pOmit)==0
5154
){
5255
fossil_warning("cannot add %s", zPath);
5356
}else{
5457
--- src/add.c
+++ src/add.c
@@ -44,10 +44,13 @@
44
45 file_tree_name(zName, &pathname, 1);
46 zPath = blob_str(&pathname);
47 if( strcmp(zPath, "manifest")==0
48 || strcmp(zPath, "_FOSSIL_")==0
 
 
 
49 || strcmp(zPath, "manifest.uuid")==0
50 || blob_compare(&pathname, pOmit)==0
51 ){
52 fossil_warning("cannot add %s", zPath);
53 }else{
54
--- src/add.c
+++ src/add.c
@@ -44,10 +44,13 @@
44
45 file_tree_name(zName, &pathname, 1);
46 zPath = blob_str(&pathname);
47 if( strcmp(zPath, "manifest")==0
48 || strcmp(zPath, "_FOSSIL_")==0
49 || strcmp(zPath, "_FOSSIL_-journal")==0
50 || strcmp(zPath, ".fos")==0
51 || strcmp(zPath, ".fos-journal")==0
52 || strcmp(zPath, "manifest.uuid")==0
53 || blob_compare(&pathname, pOmit)==0
54 ){
55 fossil_warning("cannot add %s", zPath);
56 }else{
57
+4 -2
--- src/checkin.c
+++ src/checkin.c
@@ -276,11 +276,12 @@
276276
zIgnoreFlag = db_get("ignore-glob", 0);
277277
}
278278
vfile_scan(0, &path, blob_size(&path), allFlag);
279279
db_prepare(&q,
280280
"SELECT x FROM sfile"
281
- " WHERE x NOT IN ('manifest','manifest.uuid','_FOSSIL_')"
281
+ " WHERE x NOT GLOB ('manifest','manifest.uuid','_FOSSIL_',"
282
+ "'_FOSSIL_-journal','.fos','.fos-journal');"
282283
" AND NOT %s"
283284
" ORDER BY 1",
284285
glob_expr("x", zIgnoreFlag)
285286
);
286287
if( file_tree_name(g.zRepositoryName, &repo, 0) ){
@@ -321,11 +322,12 @@
321322
n = strlen(g.zLocalRoot);
322323
blob_init(&path, g.zLocalRoot, n-1);
323324
vfile_scan(0, &path, blob_size(&path), dotfilesFlag);
324325
db_prepare(&q,
325326
"SELECT %Q || x FROM sfile"
326
- " WHERE x NOT IN ('manifest','manifest.uuid','_FOSSIL_')"
327
+ " WHERE x NOT IN ('manifest','manifest.uuid','_FOSSIL_',"
328
+ "'_FOSSIL_-journal','.fos','.fos-journal')"
327329
" ORDER BY 1", g.zLocalRoot);
328330
if( file_tree_name(g.zRepositoryName, &repo, 0) ){
329331
db_multi_exec("DELETE FROM sfile WHERE x=%B", &repo);
330332
}
331333
while( db_step(&q)==SQLITE_ROW ){
332334
--- src/checkin.c
+++ src/checkin.c
@@ -276,11 +276,12 @@
276 zIgnoreFlag = db_get("ignore-glob", 0);
277 }
278 vfile_scan(0, &path, blob_size(&path), allFlag);
279 db_prepare(&q,
280 "SELECT x FROM sfile"
281 " WHERE x NOT IN ('manifest','manifest.uuid','_FOSSIL_')"
 
282 " AND NOT %s"
283 " ORDER BY 1",
284 glob_expr("x", zIgnoreFlag)
285 );
286 if( file_tree_name(g.zRepositoryName, &repo, 0) ){
@@ -321,11 +322,12 @@
321 n = strlen(g.zLocalRoot);
322 blob_init(&path, g.zLocalRoot, n-1);
323 vfile_scan(0, &path, blob_size(&path), dotfilesFlag);
324 db_prepare(&q,
325 "SELECT %Q || x FROM sfile"
326 " WHERE x NOT IN ('manifest','manifest.uuid','_FOSSIL_')"
 
327 " ORDER BY 1", g.zLocalRoot);
328 if( file_tree_name(g.zRepositoryName, &repo, 0) ){
329 db_multi_exec("DELETE FROM sfile WHERE x=%B", &repo);
330 }
331 while( db_step(&q)==SQLITE_ROW ){
332
--- src/checkin.c
+++ src/checkin.c
@@ -276,11 +276,12 @@
276 zIgnoreFlag = db_get("ignore-glob", 0);
277 }
278 vfile_scan(0, &path, blob_size(&path), allFlag);
279 db_prepare(&q,
280 "SELECT x FROM sfile"
281 " WHERE x NOT GLOB ('manifest','manifest.uuid','_FOSSIL_',"
282 "'_FOSSIL_-journal','.fos','.fos-journal');"
283 " AND NOT %s"
284 " ORDER BY 1",
285 glob_expr("x", zIgnoreFlag)
286 );
287 if( file_tree_name(g.zRepositoryName, &repo, 0) ){
@@ -321,11 +322,12 @@
322 n = strlen(g.zLocalRoot);
323 blob_init(&path, g.zLocalRoot, n-1);
324 vfile_scan(0, &path, blob_size(&path), dotfilesFlag);
325 db_prepare(&q,
326 "SELECT %Q || x FROM sfile"
327 " WHERE x NOT IN ('manifest','manifest.uuid','_FOSSIL_',"
328 "'_FOSSIL_-journal','.fos','.fos-journal')"
329 " ORDER BY 1", g.zLocalRoot);
330 if( file_tree_name(g.zRepositoryName, &repo, 0) ){
331 db_multi_exec("DELETE FROM sfile WHERE x=%B", &repo);
332 }
333 while( db_step(&q)==SQLITE_ROW ){
334

Keyboard Shortcuts

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