Fossil SCM
Fix a bug in the "rm" command. Delete an obsolete documentation file.
Commit
ac1dea8eac8d3e94d44da33bb0bf4f9f1fd6e649
Parent
d8590e093f90a26…
2 files changed
+2
-2
-53
+2
-2
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -271,11 +271,11 @@ | ||
| 271 | 271 | zDate = db_text(0, "SELECT datetime('now')"); |
| 272 | 272 | zDate[10] = 'T'; |
| 273 | 273 | blob_appendf(&manifest, "D %s\n", zDate); |
| 274 | 274 | db_prepare(&q, |
| 275 | 275 | "SELECT pathname, uuid FROM vfile JOIN blob USING (rid)" |
| 276 | - " WHERE vfile.vid=%d" | |
| 276 | + " WHERE NOT deleted AND vfile.vid=%d" | |
| 277 | 277 | " ORDER BY 1", vid); |
| 278 | 278 | while( db_step(&q)==SQLITE_ROW ){ |
| 279 | 279 | const char *zName = db_column_text(&q, 0); |
| 280 | 280 | const char *zUuid = db_column_text(&q, 1); |
| 281 | 281 | blob_appendf(&manifest, "F %F %s\n", zName, zUuid); |
| @@ -312,11 +312,11 @@ | ||
| 312 | 312 | content_deltify(vid, nvid, 0); |
| 313 | 313 | zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", nvid); |
| 314 | 314 | printf("New_Version: %s\n", zUuid); |
| 315 | 315 | |
| 316 | 316 | /* Update VFILE */ |
| 317 | - db_multi_exec("DELETE FROM vfile WHERE vid!=%d", vid); | |
| 317 | + db_multi_exec("DELETE FROM vfile WHERE vid!=%d OR deleted", vid); | |
| 318 | 318 | db_multi_exec("DELETE FROM vmerge"); |
| 319 | 319 | db_multi_exec("UPDATE vfile SET vid=%d, rid=mrid, chnged=0, deleted=0", nvid); |
| 320 | 320 | db_lset_int("checkout", nvid); |
| 321 | 321 | |
| 322 | 322 | /* Verify that the tree checksum is unchanged */ |
| 323 | 323 | |
| 324 | 324 | DELETED www/base32.html |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -271,11 +271,11 @@ | |
| 271 | zDate = db_text(0, "SELECT datetime('now')"); |
| 272 | zDate[10] = 'T'; |
| 273 | blob_appendf(&manifest, "D %s\n", zDate); |
| 274 | db_prepare(&q, |
| 275 | "SELECT pathname, uuid FROM vfile JOIN blob USING (rid)" |
| 276 | " WHERE vfile.vid=%d" |
| 277 | " ORDER BY 1", vid); |
| 278 | while( db_step(&q)==SQLITE_ROW ){ |
| 279 | const char *zName = db_column_text(&q, 0); |
| 280 | const char *zUuid = db_column_text(&q, 1); |
| 281 | blob_appendf(&manifest, "F %F %s\n", zName, zUuid); |
| @@ -312,11 +312,11 @@ | |
| 312 | content_deltify(vid, nvid, 0); |
| 313 | zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", nvid); |
| 314 | printf("New_Version: %s\n", zUuid); |
| 315 | |
| 316 | /* Update VFILE */ |
| 317 | db_multi_exec("DELETE FROM vfile WHERE vid!=%d", vid); |
| 318 | db_multi_exec("DELETE FROM vmerge"); |
| 319 | db_multi_exec("UPDATE vfile SET vid=%d, rid=mrid, chnged=0, deleted=0", nvid); |
| 320 | db_lset_int("checkout", nvid); |
| 321 | |
| 322 | /* Verify that the tree checksum is unchanged */ |
| 323 | |
| 324 | ELETED www/base32.html |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -271,11 +271,11 @@ | |
| 271 | zDate = db_text(0, "SELECT datetime('now')"); |
| 272 | zDate[10] = 'T'; |
| 273 | blob_appendf(&manifest, "D %s\n", zDate); |
| 274 | db_prepare(&q, |
| 275 | "SELECT pathname, uuid FROM vfile JOIN blob USING (rid)" |
| 276 | " WHERE NOT deleted AND vfile.vid=%d" |
| 277 | " ORDER BY 1", vid); |
| 278 | while( db_step(&q)==SQLITE_ROW ){ |
| 279 | const char *zName = db_column_text(&q, 0); |
| 280 | const char *zUuid = db_column_text(&q, 1); |
| 281 | blob_appendf(&manifest, "F %F %s\n", zName, zUuid); |
| @@ -312,11 +312,11 @@ | |
| 312 | content_deltify(vid, nvid, 0); |
| 313 | zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", nvid); |
| 314 | printf("New_Version: %s\n", zUuid); |
| 315 | |
| 316 | /* Update VFILE */ |
| 317 | db_multi_exec("DELETE FROM vfile WHERE vid!=%d OR deleted", vid); |
| 318 | db_multi_exec("DELETE FROM vmerge"); |
| 319 | db_multi_exec("UPDATE vfile SET vid=%d, rid=mrid, chnged=0, deleted=0", nvid); |
| 320 | db_lset_int("checkout", nvid); |
| 321 | |
| 322 | /* Verify that the tree checksum is unchanged */ |
| 323 | |
| 324 | ELETED www/base32.html |
D
www/base32.html
-53
| --- a/www/base32.html | ||
| +++ b/www/base32.html | ||
| @@ -1,53 +0,0 @@ | ||
| 1 | -<html> | |
| 2 | -<head> | |
| 3 | -<title>Fossil - Base-32 Name Encoding</title> | |
| 4 | -</head> | |
| 5 | -<body bgcolor="white"> | |
| 6 | -<h1>Base-32 Name Encoding</h1> | |
| 7 | - | |
| 8 | -<p>The name of a file or version in fossil is the | |
| 9 | -<a href="http://en.wikipedia.org/wiki/SHA-1">SHA-256</a> hash of | |
| 10 | -the content of that file or version expressed in a base-32 | |
| 11 | -encoding. The digits of the base-32 encode are as | |
| 12 | -follows: | |
| 13 | - | |
| 14 | -<blockquote><b> | |
| 15 | - 0123456789abcdefghjkmnpqrstuvwxy | |
| 16 | -</b></blockquote> | |
| 17 | - | |
| 18 | -<p>The letters "o", "i", and "l" are omitted from the | |
| 19 | -encoding character set to avoid confusion with the | |
| 20 | -digits "0" and "1". On input, upper and lower case | |
| 21 | -letters are treated the same, the letter "o" is | |
| 22 | -interpreted as a zero ("0") and the letters "i" and | |
| 23 | -"l" are interpreted as a one ("1").</p> | |
| 24 | - | |
| 25 | -<p> | |
| 26 | -Each character of the base-32 encoding represents 5 bits | |
| 27 | -of the hash. The first four bits of the SHA256 hash are | |
| 28 | -repeated onto the end of the hash to make the hash a multiple | |
| 29 | -of 5 bits in length. In this way, the final digit in the | |
| 30 | -52-digit base-32 number represents a full 5 bits. | |
| 31 | -</p> | |
| 32 | - | |
| 33 | -<p>As an example, the name of the current head version in | |
| 34 | -fossil's self-hosting repository is:</p> | |
| 35 | - | |
| 36 | -<blockquote><b> | |
| 37 | - wj5nmfgr2u62pnkd35a93h7481w2utdkgs2mptf8gyy6qswf1v47 | |
| 38 | -</b></blockquote> | |
| 39 | - | |
| 40 | -<p>Fossil uses the full 52-character filenames internally. | |
| 41 | -But for human interaction, filenames | |
| 42 | -are may be abbreviated to a unique prefix. | |
| 43 | -In practice, 4 or 5 | |
| 44 | -characters are usually sufficient to give a unique | |
| 45 | -name prefix to files even in the largest of projects. | |
| 46 | -So we can refer to the current version of fossil as just:</p> | |
| 47 | - | |
| 48 | -<blockquote><b> | |
| 49 | - wj5nm | |
| 50 | -</b></blockquote> | |
| 51 | - | |
| 52 | -</body> | |
| 53 | -</html> |
| --- a/www/base32.html | |
| +++ b/www/base32.html | |
| @@ -1,53 +0,0 @@ | |
| 1 | <html> |
| 2 | <head> |
| 3 | <title>Fossil - Base-32 Name Encoding</title> |
| 4 | </head> |
| 5 | <body bgcolor="white"> |
| 6 | <h1>Base-32 Name Encoding</h1> |
| 7 | |
| 8 | <p>The name of a file or version in fossil is the |
| 9 | <a href="http://en.wikipedia.org/wiki/SHA-1">SHA-256</a> hash of |
| 10 | the content of that file or version expressed in a base-32 |
| 11 | encoding. The digits of the base-32 encode are as |
| 12 | follows: |
| 13 | |
| 14 | <blockquote><b> |
| 15 | 0123456789abcdefghjkmnpqrstuvwxy |
| 16 | </b></blockquote> |
| 17 | |
| 18 | <p>The letters "o", "i", and "l" are omitted from the |
| 19 | encoding character set to avoid confusion with the |
| 20 | digits "0" and "1". On input, upper and lower case |
| 21 | letters are treated the same, the letter "o" is |
| 22 | interpreted as a zero ("0") and the letters "i" and |
| 23 | "l" are interpreted as a one ("1").</p> |
| 24 | |
| 25 | <p> |
| 26 | Each character of the base-32 encoding represents 5 bits |
| 27 | of the hash. The first four bits of the SHA256 hash are |
| 28 | repeated onto the end of the hash to make the hash a multiple |
| 29 | of 5 bits in length. In this way, the final digit in the |
| 30 | 52-digit base-32 number represents a full 5 bits. |
| 31 | </p> |
| 32 | |
| 33 | <p>As an example, the name of the current head version in |
| 34 | fossil's self-hosting repository is:</p> |
| 35 | |
| 36 | <blockquote><b> |
| 37 | wj5nmfgr2u62pnkd35a93h7481w2utdkgs2mptf8gyy6qswf1v47 |
| 38 | </b></blockquote> |
| 39 | |
| 40 | <p>Fossil uses the full 52-character filenames internally. |
| 41 | But for human interaction, filenames |
| 42 | are may be abbreviated to a unique prefix. |
| 43 | In practice, 4 or 5 |
| 44 | characters are usually sufficient to give a unique |
| 45 | name prefix to files even in the largest of projects. |
| 46 | So we can refer to the current version of fossil as just:</p> |
| 47 | |
| 48 | <blockquote><b> |
| 49 | wj5nm |
| 50 | </b></blockquote> |
| 51 | |
| 52 | </body> |
| 53 | </html> |
| --- a/www/base32.html | |
| +++ b/www/base32.html | |
| @@ -1,53 +0,0 @@ | |