Fossil SCM
Edit pass on the unvers.wiki doc, primarily to replace passive voice phrasing with active voice. Made a few clarifications and grammar tweaks atop that.
Commit
fef0ade93fd628a9e01fd1abb6bb33c0ef62833bae6fcf3066c71b915edab82a
Parent
13c5e4172c3421f…
1 file changed
+32
-26
+32
-26
| --- www/unvers.wiki | ||
| +++ www/unvers.wiki | ||
| @@ -1,20 +1,21 @@ | ||
| 1 | 1 | <title>Unversioned Content</title> |
| 2 | 2 | <h1 align="center">Unversioned Content</h1> |
| 3 | 3 | |
| 4 | 4 | "Unversioned content" or "unversioned files" are |
| 5 | -files stored in a Fossil repository without history. | |
| 6 | -Only the newest version of each unversioned file is retained. | |
| 5 | +files stored in a Fossil repository without history, meaning | |
| 6 | +it retains the newest version of each such file, and that alone. | |
| 7 | 7 | |
| 8 | -Though history is omitted, unversioned content is synced between | |
| 9 | -repositories. In the event of a conflict during a sync, the most recent | |
| 10 | -version of each unversioned file is retained and older versions are discarded. | |
| 8 | +Though it omits history, Fossil does sync unversioned content between | |
| 9 | +repositories. In the event of a conflict during a sync, it retains | |
| 10 | +the most recent version of each unversioned file, discrding | |
| 11 | +older versions. | |
| 11 | 12 | |
| 12 | 13 | Unversioned files are useful for storing ephemeral content such as builds |
| 13 | -or frequently changing web pages. | |
| 14 | -The [https://fossil-scm.org/home/uv/download.html|download] page of | |
| 15 | -the self-hosting Fossil repository is stored as unversioned | |
| 14 | +or frequently changing web pages. We store | |
| 15 | +the [https://fossil-scm.org/home/uv/download.html|download] page of | |
| 16 | +the self-hosting Fossil repository as unversioned | |
| 16 | 17 | content, for example. |
| 17 | 18 | |
| 18 | 19 | <h2>Accessing Unversioned Files</h2> |
| 19 | 20 | |
| 20 | 21 | Unversioned files are <u>not</u> a part of a check-out. |
| @@ -30,30 +31,28 @@ | ||
| 30 | 31 | A list of all unversioned files on a server can be seen using |
| 31 | 32 | the [/help?cmd=/uvlist|/uvlist] URL. ([/uvlist|example]). |
| 32 | 33 | |
| 33 | 34 | <h2>Syncing Unversioned Files</h2> |
| 34 | 35 | |
| 35 | -Unversioned content is synced between repositories, though not by default. | |
| 36 | -Special commands or command-line options are required. | |
| 37 | -Unversioned content can be synced using the following commands: | |
| 36 | +Unversioned content does not sync between repositories by default. | |
| 37 | +One must request it via commands such as: | |
| 38 | 38 | |
| 39 | 39 | <blockquote><pre> |
| 40 | 40 | fossil sync <b>-u</b> |
| 41 | 41 | fossil clone <b>-u</b> <i>URL local-repo-name</i> |
| 42 | 42 | fossil unversioned sync |
| 43 | 43 | </pre></blockquote> |
| 44 | 44 | |
| 45 | 45 | The [/help?cmd=sync|fossil sync] and [/help?cmd=clone|fossil clone] |
| 46 | -commands will synchronize unversioned content if and only if the | |
| 47 | -"-u" (or "--unversioned") command-line option is supplied. The | |
| 48 | -[/help?cmd=unversioned|fossil unversioned sync] command will synchronize the | |
| 46 | +commands will synchronize unversioned content if and only if they're | |
| 47 | +given the "-u" (or "--unversioned") command-line option. The | |
| 48 | +[/help?cmd=unversioned|fossil unversioned sync] command synchronizes the | |
| 49 | 49 | unversioned content without synchronizing anything else. |
| 50 | 50 | |
| 51 | 51 | Notice that the "-u" option does not work on |
| 52 | 52 | [/help?cmd=push|fossil push] or [/help?cmd=pull|fossil pull]. |
| 53 | 53 | The "-u" option is only available on "sync" and "clone". |
| 54 | - | |
| 55 | 54 | A rough equivalent of an unversioned pull would be the |
| 56 | 55 | [/help?cmd=unversioned|fossil unversioned revert] command. The |
| 57 | 56 | "unversioned revert" |
| 58 | 57 | command causes the unversioned content on the local repository to overwritten |
| 59 | 58 | by the unversioned content found on the remote repository. |
| @@ -77,23 +76,30 @@ | ||
| 77 | 76 | encoding INT, -- 0: plaintext 1: zlib compressed |
| 78 | 77 | content BLOB -- File content |
| 79 | 78 | ); |
| 80 | 79 | </pre></blockquote> |
| 81 | 80 | |
| 82 | -If there are no unversioned files in the repository, then the | |
| 83 | -"unversioned" table does not necessarily exist. | |
| 84 | -A simple way to purge all unversioned content from a repository | |
| 81 | +Fossil does not create the table ahead of need. | |
| 82 | +If there are no unversioned files in the repository, the | |
| 83 | +"unversioned" table will not exist. Consequently, | |
| 84 | +one simple way to purge all unversioned content from a repository | |
| 85 | 85 | is to run: |
| 86 | 86 | |
| 87 | 87 | <blockquote><pre> |
| 88 | 88 | fossil sql "DROP TABLE unversioned; VACUUM;" |
| 89 | 89 | </pre></blockquote> |
| 90 | 90 | |
| 91 | -No delta compression is performed on unversioned files, since there is no | |
| 92 | -history to delta against. | |
| 93 | - | |
| 94 | -Unversioned content is exchanged between servers as whole, uncompressed | |
| 95 | -files (though the content does get compressed when the overall HTTP message | |
| 96 | -payload is compressed). SHA1 hash exchanges are used to avoid sending | |
| 97 | -content over the wire unnecessarily. See the | |
| 98 | -[./sync.wiki|synchronization protocol documentation] for further | |
| 91 | +Lacking history for unversioned files, Fossil does not attempt delta | |
| 92 | +compression on them. | |
| 93 | + | |
| 94 | +Fossil servers exchange unversioned content whole; it does not attempt | |
| 95 | +to "diff" your local version against the remote and send only the | |
| 96 | +changes. We point tihs out because one use-case for unversioned content | |
| 97 | +is to send large, frequently-changing files. Appreciate the consequences | |
| 98 | +before making each change. | |
| 99 | + | |
| 100 | +There are two bandwidth-saving measures in "<tt>fossil uv sync</tt>". | |
| 101 | +The first is the regular HTTP payload compression step, done on all | |
| 102 | +syncs. The second is that Fossil sends SHA1 hash exchanges to determine | |
| 103 | +when it can avoid sending duplicate content over the wire unnecessarily. | |
| 104 | +See the [./sync.wiki|synchronization protocol documentation] for further | |
| 99 | 105 | information. |
| 100 | 106 |
| --- www/unvers.wiki | |
| +++ www/unvers.wiki | |
| @@ -1,20 +1,21 @@ | |
| 1 | <title>Unversioned Content</title> |
| 2 | <h1 align="center">Unversioned Content</h1> |
| 3 | |
| 4 | "Unversioned content" or "unversioned files" are |
| 5 | files stored in a Fossil repository without history. |
| 6 | Only the newest version of each unversioned file is retained. |
| 7 | |
| 8 | Though history is omitted, unversioned content is synced between |
| 9 | repositories. In the event of a conflict during a sync, the most recent |
| 10 | version of each unversioned file is retained and older versions are discarded. |
| 11 | |
| 12 | Unversioned files are useful for storing ephemeral content such as builds |
| 13 | or frequently changing web pages. |
| 14 | The [https://fossil-scm.org/home/uv/download.html|download] page of |
| 15 | the self-hosting Fossil repository is stored as unversioned |
| 16 | content, for example. |
| 17 | |
| 18 | <h2>Accessing Unversioned Files</h2> |
| 19 | |
| 20 | Unversioned files are <u>not</u> a part of a check-out. |
| @@ -30,30 +31,28 @@ | |
| 30 | A list of all unversioned files on a server can be seen using |
| 31 | the [/help?cmd=/uvlist|/uvlist] URL. ([/uvlist|example]). |
| 32 | |
| 33 | <h2>Syncing Unversioned Files</h2> |
| 34 | |
| 35 | Unversioned content is synced between repositories, though not by default. |
| 36 | Special commands or command-line options are required. |
| 37 | Unversioned content can be synced using the following commands: |
| 38 | |
| 39 | <blockquote><pre> |
| 40 | fossil sync <b>-u</b> |
| 41 | fossil clone <b>-u</b> <i>URL local-repo-name</i> |
| 42 | fossil unversioned sync |
| 43 | </pre></blockquote> |
| 44 | |
| 45 | The [/help?cmd=sync|fossil sync] and [/help?cmd=clone|fossil clone] |
| 46 | commands will synchronize unversioned content if and only if the |
| 47 | "-u" (or "--unversioned") command-line option is supplied. The |
| 48 | [/help?cmd=unversioned|fossil unversioned sync] command will synchronize the |
| 49 | unversioned content without synchronizing anything else. |
| 50 | |
| 51 | Notice that the "-u" option does not work on |
| 52 | [/help?cmd=push|fossil push] or [/help?cmd=pull|fossil pull]. |
| 53 | The "-u" option is only available on "sync" and "clone". |
| 54 | |
| 55 | A rough equivalent of an unversioned pull would be the |
| 56 | [/help?cmd=unversioned|fossil unversioned revert] command. The |
| 57 | "unversioned revert" |
| 58 | command causes the unversioned content on the local repository to overwritten |
| 59 | by the unversioned content found on the remote repository. |
| @@ -77,23 +76,30 @@ | |
| 77 | encoding INT, -- 0: plaintext 1: zlib compressed |
| 78 | content BLOB -- File content |
| 79 | ); |
| 80 | </pre></blockquote> |
| 81 | |
| 82 | If there are no unversioned files in the repository, then the |
| 83 | "unversioned" table does not necessarily exist. |
| 84 | A simple way to purge all unversioned content from a repository |
| 85 | is to run: |
| 86 | |
| 87 | <blockquote><pre> |
| 88 | fossil sql "DROP TABLE unversioned; VACUUM;" |
| 89 | </pre></blockquote> |
| 90 | |
| 91 | No delta compression is performed on unversioned files, since there is no |
| 92 | history to delta against. |
| 93 | |
| 94 | Unversioned content is exchanged between servers as whole, uncompressed |
| 95 | files (though the content does get compressed when the overall HTTP message |
| 96 | payload is compressed). SHA1 hash exchanges are used to avoid sending |
| 97 | content over the wire unnecessarily. See the |
| 98 | [./sync.wiki|synchronization protocol documentation] for further |
| 99 | information. |
| 100 |
| --- www/unvers.wiki | |
| +++ www/unvers.wiki | |
| @@ -1,20 +1,21 @@ | |
| 1 | <title>Unversioned Content</title> |
| 2 | <h1 align="center">Unversioned Content</h1> |
| 3 | |
| 4 | "Unversioned content" or "unversioned files" are |
| 5 | files stored in a Fossil repository without history, meaning |
| 6 | it retains the newest version of each such file, and that alone. |
| 7 | |
| 8 | Though it omits history, Fossil does sync unversioned content between |
| 9 | repositories. In the event of a conflict during a sync, it retains |
| 10 | the most recent version of each unversioned file, discrding |
| 11 | older versions. |
| 12 | |
| 13 | Unversioned files are useful for storing ephemeral content such as builds |
| 14 | or frequently changing web pages. We store |
| 15 | the [https://fossil-scm.org/home/uv/download.html|download] page of |
| 16 | the self-hosting Fossil repository as unversioned |
| 17 | content, for example. |
| 18 | |
| 19 | <h2>Accessing Unversioned Files</h2> |
| 20 | |
| 21 | Unversioned files are <u>not</u> a part of a check-out. |
| @@ -30,30 +31,28 @@ | |
| 31 | A list of all unversioned files on a server can be seen using |
| 32 | the [/help?cmd=/uvlist|/uvlist] URL. ([/uvlist|example]). |
| 33 | |
| 34 | <h2>Syncing Unversioned Files</h2> |
| 35 | |
| 36 | Unversioned content does not sync between repositories by default. |
| 37 | One must request it via commands such as: |
| 38 | |
| 39 | <blockquote><pre> |
| 40 | fossil sync <b>-u</b> |
| 41 | fossil clone <b>-u</b> <i>URL local-repo-name</i> |
| 42 | fossil unversioned sync |
| 43 | </pre></blockquote> |
| 44 | |
| 45 | The [/help?cmd=sync|fossil sync] and [/help?cmd=clone|fossil clone] |
| 46 | commands will synchronize unversioned content if and only if they're |
| 47 | given the "-u" (or "--unversioned") command-line option. The |
| 48 | [/help?cmd=unversioned|fossil unversioned sync] command synchronizes the |
| 49 | unversioned content without synchronizing anything else. |
| 50 | |
| 51 | Notice that the "-u" option does not work on |
| 52 | [/help?cmd=push|fossil push] or [/help?cmd=pull|fossil pull]. |
| 53 | The "-u" option is only available on "sync" and "clone". |
| 54 | A rough equivalent of an unversioned pull would be the |
| 55 | [/help?cmd=unversioned|fossil unversioned revert] command. The |
| 56 | "unversioned revert" |
| 57 | command causes the unversioned content on the local repository to overwritten |
| 58 | by the unversioned content found on the remote repository. |
| @@ -77,23 +76,30 @@ | |
| 76 | encoding INT, -- 0: plaintext 1: zlib compressed |
| 77 | content BLOB -- File content |
| 78 | ); |
| 79 | </pre></blockquote> |
| 80 | |
| 81 | Fossil does not create the table ahead of need. |
| 82 | If there are no unversioned files in the repository, the |
| 83 | "unversioned" table will not exist. Consequently, |
| 84 | one simple way to purge all unversioned content from a repository |
| 85 | is to run: |
| 86 | |
| 87 | <blockquote><pre> |
| 88 | fossil sql "DROP TABLE unversioned; VACUUM;" |
| 89 | </pre></blockquote> |
| 90 | |
| 91 | Lacking history for unversioned files, Fossil does not attempt delta |
| 92 | compression on them. |
| 93 | |
| 94 | Fossil servers exchange unversioned content whole; it does not attempt |
| 95 | to "diff" your local version against the remote and send only the |
| 96 | changes. We point tihs out because one use-case for unversioned content |
| 97 | is to send large, frequently-changing files. Appreciate the consequences |
| 98 | before making each change. |
| 99 | |
| 100 | There are two bandwidth-saving measures in "<tt>fossil uv sync</tt>". |
| 101 | The first is the regular HTTP payload compression step, done on all |
| 102 | syncs. The second is that Fossil sends SHA1 hash exchanges to determine |
| 103 | when it can avoid sending duplicate content over the wire unnecessarily. |
| 104 | See the [./sync.wiki|synchronization protocol documentation] for further |
| 105 | information. |
| 106 |