Fossil SCM
Merge with trunk.
Commit
d084f952fe2293de78a6759fc699197a8e17c351
Parent
58e641306bf804b…
5 files changed
+7
-3
+6
-2
+4
+2
+3
-3
+7
-3
| --- src/add.c | ||
| +++ src/add.c | ||
| @@ -39,12 +39,16 @@ | ||
| 39 | 39 | file_tree_name(zName, &pathname, 1); |
| 40 | 40 | zPath = blob_str(&pathname); |
| 41 | 41 | if( strcmp(zPath, "manifest")==0 |
| 42 | 42 | || strcmp(zPath, "_FOSSIL_")==0 |
| 43 | 43 | || strcmp(zPath, "_FOSSIL_-journal")==0 |
| 44 | + || strcmp(zPath, "_FOSSIL_-wal")==0 | |
| 45 | + || strcmp(zPath, "_FOSSIL_-shm")==0 | |
| 44 | 46 | || strcmp(zPath, ".fos")==0 |
| 45 | 47 | || strcmp(zPath, ".fos-journal")==0 |
| 48 | + || strcmp(zPath, ".fos-wal")==0 | |
| 49 | + || strcmp(zPath, ".fos-shm")==0 | |
| 46 | 50 | || strcmp(zPath, "manifest.uuid")==0 |
| 47 | 51 | || blob_compare(&pathname, pOmit)==0 |
| 48 | 52 | ){ |
| 49 | 53 | fossil_warning("cannot add %s", zPath); |
| 50 | 54 | }else{ |
| @@ -223,22 +227,22 @@ | ||
| 223 | 227 | blob_reset(&path); |
| 224 | 228 | } |
| 225 | 229 | |
| 226 | 230 | /* |
| 227 | 231 | ** COMMAND: rm |
| 228 | -** COMMAND: del | |
| 232 | +** COMMAND: delete | |
| 229 | 233 | ** |
| 230 | 234 | ** Usage: %fossil rm FILE... |
| 231 | -** or: %fossil del FILE... | |
| 235 | +** or: %fossil delete FILE... | |
| 232 | 236 | ** |
| 233 | 237 | ** Remove one or more files from the tree. |
| 234 | 238 | ** |
| 235 | 239 | ** This command does not remove the files from disk. It just marks the |
| 236 | 240 | ** files as no longer being part of the project. In other words, future |
| 237 | 241 | ** changes to the named files will not be versioned. |
| 238 | 242 | */ |
| 239 | -void del_cmd(void){ | |
| 243 | +void delete_cmd(void){ | |
| 240 | 244 | int i; |
| 241 | 245 | int vid; |
| 242 | 246 | |
| 243 | 247 | db_must_be_within_tree(); |
| 244 | 248 | vid = db_lget_int("checkout", 0); |
| 245 | 249 |
| --- src/add.c | |
| +++ src/add.c | |
| @@ -39,12 +39,16 @@ | |
| 39 | file_tree_name(zName, &pathname, 1); |
| 40 | zPath = blob_str(&pathname); |
| 41 | if( strcmp(zPath, "manifest")==0 |
| 42 | || strcmp(zPath, "_FOSSIL_")==0 |
| 43 | || strcmp(zPath, "_FOSSIL_-journal")==0 |
| 44 | || strcmp(zPath, ".fos")==0 |
| 45 | || strcmp(zPath, ".fos-journal")==0 |
| 46 | || strcmp(zPath, "manifest.uuid")==0 |
| 47 | || blob_compare(&pathname, pOmit)==0 |
| 48 | ){ |
| 49 | fossil_warning("cannot add %s", zPath); |
| 50 | }else{ |
| @@ -223,22 +227,22 @@ | |
| 223 | blob_reset(&path); |
| 224 | } |
| 225 | |
| 226 | /* |
| 227 | ** COMMAND: rm |
| 228 | ** COMMAND: del |
| 229 | ** |
| 230 | ** Usage: %fossil rm FILE... |
| 231 | ** or: %fossil del FILE... |
| 232 | ** |
| 233 | ** Remove one or more files from the tree. |
| 234 | ** |
| 235 | ** This command does not remove the files from disk. It just marks the |
| 236 | ** files as no longer being part of the project. In other words, future |
| 237 | ** changes to the named files will not be versioned. |
| 238 | */ |
| 239 | void del_cmd(void){ |
| 240 | int i; |
| 241 | int vid; |
| 242 | |
| 243 | db_must_be_within_tree(); |
| 244 | vid = db_lget_int("checkout", 0); |
| 245 |
| --- src/add.c | |
| +++ src/add.c | |
| @@ -39,12 +39,16 @@ | |
| 39 | file_tree_name(zName, &pathname, 1); |
| 40 | zPath = blob_str(&pathname); |
| 41 | if( strcmp(zPath, "manifest")==0 |
| 42 | || strcmp(zPath, "_FOSSIL_")==0 |
| 43 | || strcmp(zPath, "_FOSSIL_-journal")==0 |
| 44 | || strcmp(zPath, "_FOSSIL_-wal")==0 |
| 45 | || strcmp(zPath, "_FOSSIL_-shm")==0 |
| 46 | || strcmp(zPath, ".fos")==0 |
| 47 | || strcmp(zPath, ".fos-journal")==0 |
| 48 | || strcmp(zPath, ".fos-wal")==0 |
| 49 | || strcmp(zPath, ".fos-shm")==0 |
| 50 | || strcmp(zPath, "manifest.uuid")==0 |
| 51 | || blob_compare(&pathname, pOmit)==0 |
| 52 | ){ |
| 53 | fossil_warning("cannot add %s", zPath); |
| 54 | }else{ |
| @@ -223,22 +227,22 @@ | |
| 227 | blob_reset(&path); |
| 228 | } |
| 229 | |
| 230 | /* |
| 231 | ** COMMAND: rm |
| 232 | ** COMMAND: delete |
| 233 | ** |
| 234 | ** Usage: %fossil rm FILE... |
| 235 | ** or: %fossil delete FILE... |
| 236 | ** |
| 237 | ** Remove one or more files from the tree. |
| 238 | ** |
| 239 | ** This command does not remove the files from disk. It just marks the |
| 240 | ** files as no longer being part of the project. In other words, future |
| 241 | ** changes to the named files will not be versioned. |
| 242 | */ |
| 243 | void delete_cmd(void){ |
| 244 | int i; |
| 245 | int vid; |
| 246 | |
| 247 | db_must_be_within_tree(); |
| 248 | vid = db_lget_int("checkout", 0); |
| 249 |
+6
-2
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -271,11 +271,13 @@ | ||
| 271 | 271 | } |
| 272 | 272 | vfile_scan(0, &path, blob_size(&path), allFlag); |
| 273 | 273 | db_prepare(&q, |
| 274 | 274 | "SELECT x FROM sfile" |
| 275 | 275 | " WHERE x NOT IN ('manifest','manifest.uuid','_FOSSIL_'," |
| 276 | - "'_FOSSIL_-journal','.fos','.fos-journal')" | |
| 276 | + "'_FOSSIL_-journal','.fos','.fos-journal'," | |
| 277 | + "'_FOSSIL_-wal','_FOSSIL_-shm','.fos-wal'," | |
| 278 | + "'.fos-shm')" | |
| 277 | 279 | " AND NOT %s" |
| 278 | 280 | " ORDER BY 1", |
| 279 | 281 | glob_expr("x", zIgnoreFlag) |
| 280 | 282 | ); |
| 281 | 283 | if( file_tree_name(g.zRepositoryName, &repo, 0) ){ |
| @@ -317,11 +319,13 @@ | ||
| 317 | 319 | blob_init(&path, g.zLocalRoot, n-1); |
| 318 | 320 | vfile_scan(0, &path, blob_size(&path), dotfilesFlag); |
| 319 | 321 | db_prepare(&q, |
| 320 | 322 | "SELECT %Q || x FROM sfile" |
| 321 | 323 | " WHERE x NOT IN ('manifest','manifest.uuid','_FOSSIL_'," |
| 322 | - "'_FOSSIL_-journal','.fos','.fos-journal')" | |
| 324 | + "'_FOSSIL_-journal','.fos','.fos-journal'," | |
| 325 | + "'_FOSSIL_-wal','_FOSSIL_-shm','.fos-wal'," | |
| 326 | + "'.fos-shm')" | |
| 323 | 327 | " ORDER BY 1", g.zLocalRoot); |
| 324 | 328 | if( file_tree_name(g.zRepositoryName, &repo, 0) ){ |
| 325 | 329 | db_multi_exec("DELETE FROM sfile WHERE x=%B", &repo); |
| 326 | 330 | } |
| 327 | 331 | while( db_step(&q)==SQLITE_ROW ){ |
| 328 | 332 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -271,11 +271,13 @@ | |
| 271 | } |
| 272 | vfile_scan(0, &path, blob_size(&path), allFlag); |
| 273 | db_prepare(&q, |
| 274 | "SELECT x FROM sfile" |
| 275 | " WHERE x NOT IN ('manifest','manifest.uuid','_FOSSIL_'," |
| 276 | "'_FOSSIL_-journal','.fos','.fos-journal')" |
| 277 | " AND NOT %s" |
| 278 | " ORDER BY 1", |
| 279 | glob_expr("x", zIgnoreFlag) |
| 280 | ); |
| 281 | if( file_tree_name(g.zRepositoryName, &repo, 0) ){ |
| @@ -317,11 +319,13 @@ | |
| 317 | blob_init(&path, g.zLocalRoot, n-1); |
| 318 | vfile_scan(0, &path, blob_size(&path), dotfilesFlag); |
| 319 | db_prepare(&q, |
| 320 | "SELECT %Q || x FROM sfile" |
| 321 | " WHERE x NOT IN ('manifest','manifest.uuid','_FOSSIL_'," |
| 322 | "'_FOSSIL_-journal','.fos','.fos-journal')" |
| 323 | " ORDER BY 1", g.zLocalRoot); |
| 324 | if( file_tree_name(g.zRepositoryName, &repo, 0) ){ |
| 325 | db_multi_exec("DELETE FROM sfile WHERE x=%B", &repo); |
| 326 | } |
| 327 | while( db_step(&q)==SQLITE_ROW ){ |
| 328 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -271,11 +271,13 @@ | |
| 271 | } |
| 272 | vfile_scan(0, &path, blob_size(&path), allFlag); |
| 273 | db_prepare(&q, |
| 274 | "SELECT x FROM sfile" |
| 275 | " WHERE x NOT IN ('manifest','manifest.uuid','_FOSSIL_'," |
| 276 | "'_FOSSIL_-journal','.fos','.fos-journal'," |
| 277 | "'_FOSSIL_-wal','_FOSSIL_-shm','.fos-wal'," |
| 278 | "'.fos-shm')" |
| 279 | " AND NOT %s" |
| 280 | " ORDER BY 1", |
| 281 | glob_expr("x", zIgnoreFlag) |
| 282 | ); |
| 283 | if( file_tree_name(g.zRepositoryName, &repo, 0) ){ |
| @@ -317,11 +319,13 @@ | |
| 319 | blob_init(&path, g.zLocalRoot, n-1); |
| 320 | vfile_scan(0, &path, blob_size(&path), dotfilesFlag); |
| 321 | db_prepare(&q, |
| 322 | "SELECT %Q || x FROM sfile" |
| 323 | " WHERE x NOT IN ('manifest','manifest.uuid','_FOSSIL_'," |
| 324 | "'_FOSSIL_-journal','.fos','.fos-journal'," |
| 325 | "'_FOSSIL_-wal','_FOSSIL_-shm','.fos-wal'," |
| 326 | "'.fos-shm')" |
| 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 |
+4
| --- src/checkout.c | ||
| +++ src/checkout.c | ||
| @@ -232,12 +232,16 @@ | ||
| 232 | 232 | */ |
| 233 | 233 | void unlink_local_database(void){ |
| 234 | 234 | static const char *azFile[] = { |
| 235 | 235 | "%s_FOSSIL_", |
| 236 | 236 | "%s_FOSSIL_-journal", |
| 237 | + "%s_FOSSIL_-wal", | |
| 238 | + "%s_FOSSIL_-shm", | |
| 237 | 239 | "%s.fos", |
| 238 | 240 | "%s.fos-journal", |
| 241 | + "%s.fos-wal", | |
| 242 | + "%s.fos-shm", | |
| 239 | 243 | }; |
| 240 | 244 | int i; |
| 241 | 245 | for(i=0; i<sizeof(azFile)/sizeof(azFile[0]); i++){ |
| 242 | 246 | char *z = mprintf(azFile[i], g.zLocalRoot); |
| 243 | 247 | unlink(z); |
| 244 | 248 |
| --- src/checkout.c | |
| +++ src/checkout.c | |
| @@ -232,12 +232,16 @@ | |
| 232 | */ |
| 233 | void unlink_local_database(void){ |
| 234 | static const char *azFile[] = { |
| 235 | "%s_FOSSIL_", |
| 236 | "%s_FOSSIL_-journal", |
| 237 | "%s.fos", |
| 238 | "%s.fos-journal", |
| 239 | }; |
| 240 | int i; |
| 241 | for(i=0; i<sizeof(azFile)/sizeof(azFile[0]); i++){ |
| 242 | char *z = mprintf(azFile[i], g.zLocalRoot); |
| 243 | unlink(z); |
| 244 |
| --- src/checkout.c | |
| +++ src/checkout.c | |
| @@ -232,12 +232,16 @@ | |
| 232 | */ |
| 233 | void unlink_local_database(void){ |
| 234 | static const char *azFile[] = { |
| 235 | "%s_FOSSIL_", |
| 236 | "%s_FOSSIL_-journal", |
| 237 | "%s_FOSSIL_-wal", |
| 238 | "%s_FOSSIL_-shm", |
| 239 | "%s.fos", |
| 240 | "%s.fos-journal", |
| 241 | "%s.fos-wal", |
| 242 | "%s.fos-shm", |
| 243 | }; |
| 244 | int i; |
| 245 | for(i=0; i<sizeof(azFile)/sizeof(azFile[0]); i++){ |
| 246 | char *z = mprintf(azFile[i], g.zLocalRoot); |
| 247 | unlink(z); |
| 248 |
+2
| --- www/index.wiki | ||
| +++ www/index.wiki | ||
| @@ -124,10 +124,12 @@ | ||
| 124 | 124 | * Some (unfinished but expanding) extended |
| 125 | 125 | [./reference.wiki | reference documentation] for the fossil command line. |
| 126 | 126 | * Documentation on the |
| 127 | 127 | [http://www.sqliteconcepts.org/THManual.pdf | TH1 Script Language] used |
| 128 | 128 | to configure the ticketing subsystem. |
| 129 | + * A free hosting server for Fossil repositories is available at | |
| 130 | + [http://chiselapp.com/]. | |
| 129 | 131 | * How to [./server.wiki | set up a server] for your repository. |
| 130 | 132 | * Customizing the [./custom_ticket.wiki | ticket system]. |
| 131 | 133 | |
| 132 | 134 | <h3>Links For Fossil Developer:</h3> |
| 133 | 135 | |
| 134 | 136 |
| --- www/index.wiki | |
| +++ www/index.wiki | |
| @@ -124,10 +124,12 @@ | |
| 124 | * Some (unfinished but expanding) extended |
| 125 | [./reference.wiki | reference documentation] for the fossil command line. |
| 126 | * Documentation on the |
| 127 | [http://www.sqliteconcepts.org/THManual.pdf | TH1 Script Language] used |
| 128 | to configure the ticketing subsystem. |
| 129 | * How to [./server.wiki | set up a server] for your repository. |
| 130 | * Customizing the [./custom_ticket.wiki | ticket system]. |
| 131 | |
| 132 | <h3>Links For Fossil Developer:</h3> |
| 133 | |
| 134 |
| --- www/index.wiki | |
| +++ www/index.wiki | |
| @@ -124,10 +124,12 @@ | |
| 124 | * Some (unfinished but expanding) extended |
| 125 | [./reference.wiki | reference documentation] for the fossil command line. |
| 126 | * Documentation on the |
| 127 | [http://www.sqliteconcepts.org/THManual.pdf | TH1 Script Language] used |
| 128 | to configure the ticketing subsystem. |
| 129 | * A free hosting server for Fossil repositories is available at |
| 130 | [http://chiselapp.com/]. |
| 131 | * How to [./server.wiki | set up a server] for your repository. |
| 132 | * Customizing the [./custom_ticket.wiki | ticket system]. |
| 133 | |
| 134 | <h3>Links For Fossil Developer:</h3> |
| 135 | |
| 136 |
+3
-3
| --- www/server.wiki | ||
| +++ www/server.wiki | ||
| @@ -56,11 +56,11 @@ | ||
| 56 | 56 | |
| 57 | 57 | <h3>One script per repository</h3><blockquote> |
| 58 | 58 | <p> |
| 59 | 59 | Create a script (let's call it 'repo') in your CGI directory which has content like this: |
| 60 | 60 | <blockquote><tt> |
| 61 | -#!/path-to/fossil | |
| 61 | +#!/path-to/fossil<br> | |
| 62 | 62 | repository: /path-to-repo/repository |
| 63 | 63 | </tt></blockquote> |
| 64 | 64 | </p> |
| 65 | 65 | <p> |
| 66 | 66 | It may be necessary to set permissions properly, or to modify an ".htaccess" file or other server-specific things like that. Consult with your server provider if you need that sort of assistance. |
| @@ -72,12 +72,12 @@ | ||
| 72 | 72 | |
| 73 | 73 | <h3>Serving multiple repositories with one script</h3><blockquote> |
| 74 | 74 | <p> |
| 75 | 75 | This scenario is almost identical to the previous one. However, here we will assume you have multiple repositories, in one directory (call it 'fossils'). So as before, create a script (again, 'repo'): |
| 76 | 76 | <blockquote><tt> |
| 77 | -#!/path-to/fossil | |
| 78 | -directory: /path-to-repo/fossils | |
| 77 | +#!/path-to/fossil<br> | |
| 78 | +directory: /path-to-repo/fossils<br> | |
| 79 | 79 | notfound: http://url-to-go-to-if-repo-not-found/ |
| 80 | 80 | </tt></blockquote> |
| 81 | 81 | </p> |
| 82 | 82 | <p> |
| 83 | 83 | Once deployed, a URL like: <tt>http://mydomain.org/cgi-bin/repo/XYZ</tt> will serve up the repository "fossils/XYX" (if it exists). This makes serving multiple projects on one server pretty painless. |
| 84 | 84 |
| --- www/server.wiki | |
| +++ www/server.wiki | |
| @@ -56,11 +56,11 @@ | |
| 56 | |
| 57 | <h3>One script per repository</h3><blockquote> |
| 58 | <p> |
| 59 | Create a script (let's call it 'repo') in your CGI directory which has content like this: |
| 60 | <blockquote><tt> |
| 61 | #!/path-to/fossil |
| 62 | repository: /path-to-repo/repository |
| 63 | </tt></blockquote> |
| 64 | </p> |
| 65 | <p> |
| 66 | It may be necessary to set permissions properly, or to modify an ".htaccess" file or other server-specific things like that. Consult with your server provider if you need that sort of assistance. |
| @@ -72,12 +72,12 @@ | |
| 72 | |
| 73 | <h3>Serving multiple repositories with one script</h3><blockquote> |
| 74 | <p> |
| 75 | This scenario is almost identical to the previous one. However, here we will assume you have multiple repositories, in one directory (call it 'fossils'). So as before, create a script (again, 'repo'): |
| 76 | <blockquote><tt> |
| 77 | #!/path-to/fossil |
| 78 | directory: /path-to-repo/fossils |
| 79 | notfound: http://url-to-go-to-if-repo-not-found/ |
| 80 | </tt></blockquote> |
| 81 | </p> |
| 82 | <p> |
| 83 | Once deployed, a URL like: <tt>http://mydomain.org/cgi-bin/repo/XYZ</tt> will serve up the repository "fossils/XYX" (if it exists). This makes serving multiple projects on one server pretty painless. |
| 84 |
| --- www/server.wiki | |
| +++ www/server.wiki | |
| @@ -56,11 +56,11 @@ | |
| 56 | |
| 57 | <h3>One script per repository</h3><blockquote> |
| 58 | <p> |
| 59 | Create a script (let's call it 'repo') in your CGI directory which has content like this: |
| 60 | <blockquote><tt> |
| 61 | #!/path-to/fossil<br> |
| 62 | repository: /path-to-repo/repository |
| 63 | </tt></blockquote> |
| 64 | </p> |
| 65 | <p> |
| 66 | It may be necessary to set permissions properly, or to modify an ".htaccess" file or other server-specific things like that. Consult with your server provider if you need that sort of assistance. |
| @@ -72,12 +72,12 @@ | |
| 72 | |
| 73 | <h3>Serving multiple repositories with one script</h3><blockquote> |
| 74 | <p> |
| 75 | This scenario is almost identical to the previous one. However, here we will assume you have multiple repositories, in one directory (call it 'fossils'). So as before, create a script (again, 'repo'): |
| 76 | <blockquote><tt> |
| 77 | #!/path-to/fossil<br> |
| 78 | directory: /path-to-repo/fossils<br> |
| 79 | notfound: http://url-to-go-to-if-repo-not-found/ |
| 80 | </tt></blockquote> |
| 81 | </p> |
| 82 | <p> |
| 83 | Once deployed, a URL like: <tt>http://mydomain.org/cgi-bin/repo/XYZ</tt> will serve up the repository "fossils/XYX" (if it exists). This makes serving multiple projects on one server pretty painless. |
| 84 |