Fossil SCM
Silently refuse to "fossil add" files that use reserved names.
Commit
888da94e0a7983f3e52f6ffeaa542d480fdaf0fe747c8c2f990002a2fe2a1468
Parent
20d90dd4825ce5f…
1 file changed
+7
-3
+7
-3
| --- src/add.c | ||
| +++ src/add.c | ||
| @@ -212,14 +212,18 @@ | ||
| 212 | 212 | } |
| 213 | 213 | db_prepare(&loop, "SELECT pathname FROM sfile ORDER BY pathname"); |
| 214 | 214 | while( db_step(&loop)==SQLITE_ROW ){ |
| 215 | 215 | const char *zToAdd = db_column_text(&loop, 0); |
| 216 | 216 | if( fossil_strcmp(zToAdd, zRepo)==0 ) continue; |
| 217 | - for(i=0; (zReserved = fossil_reserved_name(i, 0))!=0; i++){ | |
| 218 | - if( xCmp(zToAdd, zReserved)==0 ) break; | |
| 217 | + if( strchr(zToAdd,'/') ){ | |
| 218 | + if( file_is_reserved_name(zToAdd, -1) ) continue; | |
| 219 | + }else{ | |
| 220 | + for(i=0; (zReserved = fossil_reserved_name(i, 0))!=0; i++){ | |
| 221 | + if( xCmp(zToAdd, zReserved)==0 ) break; | |
| 222 | + } | |
| 223 | + if( zReserved ) continue; | |
| 219 | 224 | } |
| 220 | - if( zReserved ) continue; | |
| 221 | 225 | nAdd += add_one_file(zToAdd, vid); |
| 222 | 226 | } |
| 223 | 227 | db_finalize(&loop); |
| 224 | 228 | blob_reset(&repoName); |
| 225 | 229 | return nAdd; |
| 226 | 230 |
| --- src/add.c | |
| +++ src/add.c | |
| @@ -212,14 +212,18 @@ | |
| 212 | } |
| 213 | db_prepare(&loop, "SELECT pathname FROM sfile ORDER BY pathname"); |
| 214 | while( db_step(&loop)==SQLITE_ROW ){ |
| 215 | const char *zToAdd = db_column_text(&loop, 0); |
| 216 | if( fossil_strcmp(zToAdd, zRepo)==0 ) continue; |
| 217 | for(i=0; (zReserved = fossil_reserved_name(i, 0))!=0; i++){ |
| 218 | if( xCmp(zToAdd, zReserved)==0 ) break; |
| 219 | } |
| 220 | if( zReserved ) continue; |
| 221 | nAdd += add_one_file(zToAdd, vid); |
| 222 | } |
| 223 | db_finalize(&loop); |
| 224 | blob_reset(&repoName); |
| 225 | return nAdd; |
| 226 |
| --- src/add.c | |
| +++ src/add.c | |
| @@ -212,14 +212,18 @@ | |
| 212 | } |
| 213 | db_prepare(&loop, "SELECT pathname FROM sfile ORDER BY pathname"); |
| 214 | while( db_step(&loop)==SQLITE_ROW ){ |
| 215 | const char *zToAdd = db_column_text(&loop, 0); |
| 216 | if( fossil_strcmp(zToAdd, zRepo)==0 ) continue; |
| 217 | if( strchr(zToAdd,'/') ){ |
| 218 | if( file_is_reserved_name(zToAdd, -1) ) continue; |
| 219 | }else{ |
| 220 | for(i=0; (zReserved = fossil_reserved_name(i, 0))!=0; i++){ |
| 221 | if( xCmp(zToAdd, zReserved)==0 ) break; |
| 222 | } |
| 223 | if( zReserved ) continue; |
| 224 | } |
| 225 | nAdd += add_one_file(zToAdd, vid); |
| 226 | } |
| 227 | db_finalize(&loop); |
| 228 | blob_reset(&repoName); |
| 229 | return nAdd; |
| 230 |