Fossil SCM
Documentation updates.
Commit
5fb963ab616953cbb27607b215d408c4262658af
Parent
8a1e384b333ffc3…
8 files changed
+19
-2
+1
+5
-2
+12
-3
+1
-1
+1
-1
+8
-5
+167
-9
+19
-2
| --- www/build.wiki | ||
| +++ www/build.wiki | ||
| @@ -1,7 +1,6 @@ | ||
| 1 | 1 | <title>Building and Installing Fossil</title> |
| 2 | -<nowiki> | |
| 3 | 2 | |
| 4 | 3 | <p>This page describes how to build and install Fossil. The |
| 5 | 4 | whole process is designed to be very easy.</p> |
| 6 | 5 | |
| 7 | 6 | <h2>0.0 Using A Pre-compiled Binary</h2> |
| @@ -41,11 +40,12 @@ | ||
| 41 | 40 | complete source code and download it to your browser. |
| 42 | 41 | </ol> |
| 43 | 42 | |
| 44 | 43 | <h2>2.0 Compiling</h2> |
| 45 | 44 | |
| 46 | -<p>Follow these steps to compile:</p> | |
| 45 | +<p>Follow these steps to compile on a unix platform | |
| 46 | +(Linux, *BSD, MacOS, etc):</p> | |
| 47 | 47 | |
| 48 | 48 | <ol> |
| 49 | 49 | <li value="6"> |
| 50 | 50 | <p>Create a directory to hold the source code. Then unzip the |
| 51 | 51 | ZIP archive you downloaded into that directory. You should be |
| @@ -57,10 +57,18 @@ | ||
| 57 | 57 | variables in the makefile that can be changed. The whole Makefile |
| 58 | 58 | is only a few dozen lines long and most of those lines are comments.</p> |
| 59 | 59 | |
| 60 | 60 | <li><p>Type "<b>make</b>" |
| 61 | 61 | </ol> |
| 62 | + | |
| 63 | +<p>To build on windows, use an alternative makefile suitable for your | |
| 64 | +particular build environment. The alternative windows makefiles are | |
| 65 | +all found in the win/ subdirectory of the source tree. So, for example, | |
| 66 | +if you want build using the | |
| 67 | +[http://www.mingw.org/ | mingw/msys compiler package] for windows, then | |
| 68 | +run "<b>make -f win/Makefile.mingw</b>" instead of just "<b>make</b>" | |
| 69 | +in step 8 above.</p> | |
| 62 | 70 | |
| 63 | 71 | <h2>3.0 Installing</h2> |
| 64 | 72 | |
| 65 | 73 | <ol> |
| 66 | 74 | <li value="9"> |
| @@ -70,5 +78,14 @@ | ||
| 70 | 78 | |
| 71 | 79 | <li> |
| 72 | 80 | <p><b>(Optional:)</b> |
| 73 | 81 | To uninstall, just delete the binary.</p> |
| 74 | 82 | </ol> |
| 83 | + | |
| 84 | +<h2>4.0 Additional Considerations</h2> | |
| 85 | + | |
| 86 | +</nowiki> | |
| 87 | + * If the makefiles that come with Fossil do not work for | |
| 88 | + you, or for some other reason you want to know how to build | |
| 89 | + Fossil manually, then refer to the | |
| 90 | + [./makefile.wiki | Fossil Build Process] document which describes | |
| 91 | + in detail what the makefiles do behind the scenes. | |
| 75 | 92 |
| --- www/build.wiki | |
| +++ www/build.wiki | |
| @@ -1,7 +1,6 @@ | |
| 1 | <title>Building and Installing Fossil</title> |
| 2 | <nowiki> |
| 3 | |
| 4 | <p>This page describes how to build and install Fossil. The |
| 5 | whole process is designed to be very easy.</p> |
| 6 | |
| 7 | <h2>0.0 Using A Pre-compiled Binary</h2> |
| @@ -41,11 +40,12 @@ | |
| 41 | complete source code and download it to your browser. |
| 42 | </ol> |
| 43 | |
| 44 | <h2>2.0 Compiling</h2> |
| 45 | |
| 46 | <p>Follow these steps to compile:</p> |
| 47 | |
| 48 | <ol> |
| 49 | <li value="6"> |
| 50 | <p>Create a directory to hold the source code. Then unzip the |
| 51 | ZIP archive you downloaded into that directory. You should be |
| @@ -57,10 +57,18 @@ | |
| 57 | variables in the makefile that can be changed. The whole Makefile |
| 58 | is only a few dozen lines long and most of those lines are comments.</p> |
| 59 | |
| 60 | <li><p>Type "<b>make</b>" |
| 61 | </ol> |
| 62 | |
| 63 | <h2>3.0 Installing</h2> |
| 64 | |
| 65 | <ol> |
| 66 | <li value="9"> |
| @@ -70,5 +78,14 @@ | |
| 70 | |
| 71 | <li> |
| 72 | <p><b>(Optional:)</b> |
| 73 | To uninstall, just delete the binary.</p> |
| 74 | </ol> |
| 75 |
| --- www/build.wiki | |
| +++ www/build.wiki | |
| @@ -1,7 +1,6 @@ | |
| 1 | <title>Building and Installing Fossil</title> |
| 2 | |
| 3 | <p>This page describes how to build and install Fossil. The |
| 4 | whole process is designed to be very easy.</p> |
| 5 | |
| 6 | <h2>0.0 Using A Pre-compiled Binary</h2> |
| @@ -41,11 +40,12 @@ | |
| 40 | complete source code and download it to your browser. |
| 41 | </ol> |
| 42 | |
| 43 | <h2>2.0 Compiling</h2> |
| 44 | |
| 45 | <p>Follow these steps to compile on a unix platform |
| 46 | (Linux, *BSD, MacOS, etc):</p> |
| 47 | |
| 48 | <ol> |
| 49 | <li value="6"> |
| 50 | <p>Create a directory to hold the source code. Then unzip the |
| 51 | ZIP archive you downloaded into that directory. You should be |
| @@ -57,10 +57,18 @@ | |
| 57 | variables in the makefile that can be changed. The whole Makefile |
| 58 | is only a few dozen lines long and most of those lines are comments.</p> |
| 59 | |
| 60 | <li><p>Type "<b>make</b>" |
| 61 | </ol> |
| 62 | |
| 63 | <p>To build on windows, use an alternative makefile suitable for your |
| 64 | particular build environment. The alternative windows makefiles are |
| 65 | all found in the win/ subdirectory of the source tree. So, for example, |
| 66 | if you want build using the |
| 67 | [http://www.mingw.org/ | mingw/msys compiler package] for windows, then |
| 68 | run "<b>make -f win/Makefile.mingw</b>" instead of just "<b>make</b>" |
| 69 | in step 8 above.</p> |
| 70 | |
| 71 | <h2>3.0 Installing</h2> |
| 72 | |
| 73 | <ol> |
| 74 | <li value="9"> |
| @@ -70,5 +78,14 @@ | |
| 78 | |
| 79 | <li> |
| 80 | <p><b>(Optional:)</b> |
| 81 | To uninstall, just delete the binary.</p> |
| 82 | </ol> |
| 83 | |
| 84 | <h2>4.0 Additional Considerations</h2> |
| 85 | |
| 86 | </nowiki> |
| 87 | * If the makefiles that come with Fossil do not work for |
| 88 | you, or for some other reason you want to know how to build |
| 89 | Fossil manually, then refer to the |
| 90 | [./makefile.wiki | Fossil Build Process] document which describes |
| 91 | in detail what the makefiles do behind the scenes. |
| 92 |
+1
| --- www/index.wiki | ||
| +++ www/index.wiki | ||
| @@ -142,10 +142,11 @@ | ||
| 142 | 142 | |
| 143 | 143 | <h3>Links For Fossil Developer:</h3> |
| 144 | 144 | |
| 145 | 145 | * [./theory1.wiki | Thoughts On The Design Of Fossil]. |
| 146 | 146 | * [./pop.wiki | Principles Of Operation] |
| 147 | + * [./tech_overview.wiki | A Technical Overview Of Fossil]. | |
| 147 | 148 | * The [./fileformat.wiki | file format] used by every content |
| 148 | 149 | file stored in the repository. |
| 149 | 150 | * The [./delta_format.wiki | format of deltas] used to |
| 150 | 151 | efficiently store changes between file revisions. |
| 151 | 152 | * The [./delta_encoder_algorithm.wiki | encoder algorithm] used to |
| 152 | 153 |
| --- www/index.wiki | |
| +++ www/index.wiki | |
| @@ -142,10 +142,11 @@ | |
| 142 | |
| 143 | <h3>Links For Fossil Developer:</h3> |
| 144 | |
| 145 | * [./theory1.wiki | Thoughts On The Design Of Fossil]. |
| 146 | * [./pop.wiki | Principles Of Operation] |
| 147 | * The [./fileformat.wiki | file format] used by every content |
| 148 | file stored in the repository. |
| 149 | * The [./delta_format.wiki | format of deltas] used to |
| 150 | efficiently store changes between file revisions. |
| 151 | * The [./delta_encoder_algorithm.wiki | encoder algorithm] used to |
| 152 |
| --- www/index.wiki | |
| +++ www/index.wiki | |
| @@ -142,10 +142,11 @@ | |
| 142 | |
| 143 | <h3>Links For Fossil Developer:</h3> |
| 144 | |
| 145 | * [./theory1.wiki | Thoughts On The Design Of Fossil]. |
| 146 | * [./pop.wiki | Principles Of Operation] |
| 147 | * [./tech_overview.wiki | A Technical Overview Of Fossil]. |
| 148 | * The [./fileformat.wiki | file format] used by every content |
| 149 | file stored in the repository. |
| 150 | * The [./delta_format.wiki | format of deltas] used to |
| 151 | efficiently store changes between file revisions. |
| 152 | * The [./delta_encoder_algorithm.wiki | encoder algorithm] used to |
| 153 |
+5
-2
| --- www/mkindex.tcl | ||
| +++ www/mkindex.tcl | ||
| @@ -30,20 +30,23 @@ | ||
| 30 | 30 | quotes.wiki |
| 31 | 31 | {Quotes: What People Are Saying About Fossil, Git, and DVCSes in General} |
| 32 | 32 | selfcheck.wiki {Fossil Repository Integrity Self Checks} |
| 33 | 33 | selfhost.wiki {Fossil Self Hosting Repositories} |
| 34 | 34 | server.wiki {How To Configure A Fossil Server} |
| 35 | - shunning.wiki {Deleting Content From Fossil} | |
| 35 | + shunning.wiki {Shunning: Deleting Content From Fossil} | |
| 36 | 36 | stats.wiki {Performance Statistics} |
| 37 | 37 | sync.wiki {The Fossil Sync Protocol} |
| 38 | + tech_overview.wiki {A Technical Overview Of The Design And Implementation | |
| 39 | + Of Fossil} | |
| 40 | + tech_overview.wiki {SQLite Databases Used By Fossil} | |
| 38 | 41 | theory1.wiki {Thoughts On The Design Of The Fossil DVCS} |
| 39 | 42 | webui.wiki {The Fossil Web Interface} |
| 40 | 43 | wikitheory.wiki {Wiki In Fossil} |
| 41 | 44 | } |
| 42 | 45 | |
| 43 | 46 | set permindex {} |
| 44 | -set stopwords {fossil and a in of on the to are about} | |
| 47 | +set stopwords {fossil and a in of on the to are about used by} | |
| 45 | 48 | foreach {file title} $doclist { |
| 46 | 49 | set n [llength $title] |
| 47 | 50 | lappend permindex [list $title $file] |
| 48 | 51 | for {set i 0} {$i<$n-1} {incr i} { |
| 49 | 52 | set prefix [lrange $title 0 $i] |
| 50 | 53 |
| --- www/mkindex.tcl | |
| +++ www/mkindex.tcl | |
| @@ -30,20 +30,23 @@ | |
| 30 | quotes.wiki |
| 31 | {Quotes: What People Are Saying About Fossil, Git, and DVCSes in General} |
| 32 | selfcheck.wiki {Fossil Repository Integrity Self Checks} |
| 33 | selfhost.wiki {Fossil Self Hosting Repositories} |
| 34 | server.wiki {How To Configure A Fossil Server} |
| 35 | shunning.wiki {Deleting Content From Fossil} |
| 36 | stats.wiki {Performance Statistics} |
| 37 | sync.wiki {The Fossil Sync Protocol} |
| 38 | theory1.wiki {Thoughts On The Design Of The Fossil DVCS} |
| 39 | webui.wiki {The Fossil Web Interface} |
| 40 | wikitheory.wiki {Wiki In Fossil} |
| 41 | } |
| 42 | |
| 43 | set permindex {} |
| 44 | set stopwords {fossil and a in of on the to are about} |
| 45 | foreach {file title} $doclist { |
| 46 | set n [llength $title] |
| 47 | lappend permindex [list $title $file] |
| 48 | for {set i 0} {$i<$n-1} {incr i} { |
| 49 | set prefix [lrange $title 0 $i] |
| 50 |
| --- www/mkindex.tcl | |
| +++ www/mkindex.tcl | |
| @@ -30,20 +30,23 @@ | |
| 30 | quotes.wiki |
| 31 | {Quotes: What People Are Saying About Fossil, Git, and DVCSes in General} |
| 32 | selfcheck.wiki {Fossil Repository Integrity Self Checks} |
| 33 | selfhost.wiki {Fossil Self Hosting Repositories} |
| 34 | server.wiki {How To Configure A Fossil Server} |
| 35 | shunning.wiki {Shunning: Deleting Content From Fossil} |
| 36 | stats.wiki {Performance Statistics} |
| 37 | sync.wiki {The Fossil Sync Protocol} |
| 38 | tech_overview.wiki {A Technical Overview Of The Design And Implementation |
| 39 | Of Fossil} |
| 40 | tech_overview.wiki {SQLite Databases Used By Fossil} |
| 41 | theory1.wiki {Thoughts On The Design Of The Fossil DVCS} |
| 42 | webui.wiki {The Fossil Web Interface} |
| 43 | wikitheory.wiki {Wiki In Fossil} |
| 44 | } |
| 45 | |
| 46 | set permindex {} |
| 47 | set stopwords {fossil and a in of on the to are about used by} |
| 48 | foreach {file title} $doclist { |
| 49 | set n [llength $title] |
| 50 | lappend permindex [list $title $file] |
| 51 | for {set i 0} {$i<$n-1} {incr i} { |
| 52 | set prefix [lrange $title 0 $i] |
| 53 |
+12
-3
| --- www/permutedindex.wiki | ||
| +++ www/permutedindex.wiki | ||
| @@ -1,9 +1,11 @@ | ||
| 1 | 1 | <title>Permuted Index Of Fossil Documentation</title> |
| 2 | 2 | <nowiki> |
| 3 | 3 | <ul> |
| 4 | 4 | <li><a href="event.wiki">Events</a></li> |
| 5 | +<li><a href="tech_overview.wiki">A Technical Overview Of The Design And Implementation | |
| 6 | + Of Fossil</a></li> | |
| 5 | 7 | <li><a href="delta_encoder_algorithm.wiki">Algorithm — Fossil Delta Encoding</a></li> |
| 6 | 8 | <li><a href="faq.wiki">Asked Questions — Frequently</a></li> |
| 7 | 9 | <li><a href="password.wiki">Authentication — Password Management And</a></li> |
| 8 | 10 | <li><a href="branching.wiki">Branching, Forking, Merging, and Tagging</a></li> |
| 9 | 11 | <li><a href="bugtheory.wiki">Bug Tracking In Fossil</a></li> |
| @@ -11,17 +13,19 @@ | ||
| 11 | 13 | <li><a href="build.wiki">Building and Installing Fossil</a></li> |
| 12 | 14 | <li><a href="checkin_names.wiki">Checkin And Version Names</a></li> |
| 13 | 15 | <li><a href="selfcheck.wiki">Checks — Fossil Repository Integrity Self</a></li> |
| 14 | 16 | <li><a href="concepts.wiki">Concepts — Fossil Core</a></li> |
| 15 | 17 | <li><a href="server.wiki">Configure A Fossil Server — How To</a></li> |
| 16 | -<li><a href="shunning.wiki">Content From Fossil — Deleting</a></li> | |
| 18 | +<li><a href="shunning.wiki">Content From Fossil — Shunning: Deleting</a></li> | |
| 17 | 19 | <li><a href="concepts.wiki">Core Concepts — Fossil</a></li> |
| 18 | 20 | <li><a href="qandc.wiki">Criticisms — Questions And</a></li> |
| 19 | 21 | <li><a href="custom_ticket.wiki">Customizing The Ticket System</a></li> |
| 20 | -<li><a href="shunning.wiki">Deleting Content From Fossil</a></li> | |
| 22 | +<li><a href="tech_overview.wiki">Databases Used By Fossil — SQLite</a></li> | |
| 23 | +<li><a href="shunning.wiki">Deleting Content From Fossil — Shunning:</a></li> | |
| 21 | 24 | <li><a href="delta_encoder_algorithm.wiki">Delta Encoding Algorithm — Fossil</a></li> |
| 22 | 25 | <li><a href="delta_format.wiki">Delta Format — Fossil</a></li> |
| 26 | +<li><a href="tech_overview.wiki">Design And Implementation Of Fossil — A Technical Overview Of The</a></li> | |
| 23 | 27 | <li><a href="theory1.wiki">Design Of The Fossil DVCS — Thoughts On The</a></li> |
| 24 | 28 | <li><a href="embeddeddoc.wiki">Documentation — Embedded Project</a></li> |
| 25 | 29 | <li><a href="theory1.wiki">DVCS — Thoughts On The Design Of The Fossil</a></li> |
| 26 | 30 | <li><a href="quotes.wiki">DVCSes in General — Quotes: What People Are Saying About Fossil, Git, and</a></li> |
| 27 | 31 | <li><a href="embeddeddoc.wiki">Embedded Project Documentation</a></li> |
| @@ -39,28 +43,30 @@ | ||
| 39 | 43 | <li><a href="selfcheck.wiki">Fossil Repository Integrity Self Checks</a></li> |
| 40 | 44 | <li><a href="selfhost.wiki">Fossil Self Hosting Repositories</a></li> |
| 41 | 45 | <li><a href="fossil-v-git.wiki">Fossil Versus Git</a></li> |
| 42 | 46 | <li><a href="quotes.wiki">Fossil, Git, and DVCSes in General — Quotes: What People Are Saying About</a></li> |
| 43 | 47 | <li><a href="faq.wiki">Frequently Asked Questions</a></li> |
| 44 | -<li><a href="shunning.wiki">From Fossil — Deleting Content</a></li> | |
| 48 | +<li><a href="shunning.wiki">From Fossil — Shunning: Deleting Content</a></li> | |
| 45 | 49 | <li><a href="inout.wiki">From Git — Import And Export To And</a></li> |
| 46 | 50 | <li><a href="quotes.wiki">General — Quotes: What People Are Saying About Fossil, Git, and DVCSes in</a></li> |
| 47 | 51 | <li><a href="fossil-v-git.wiki">Git — Fossil Versus</a></li> |
| 48 | 52 | <li><a href="inout.wiki">Git — Import And Export To And From</a></li> |
| 49 | 53 | <li><a href="quotes.wiki">Git, and DVCSes in General — Quotes: What People Are Saying About Fossil,</a></li> |
| 50 | 54 | <li><a href="quickstart.wiki">Guide — Fossil Quick Start</a></li> |
| 51 | 55 | <li><a href="index.wiki">Home Page</a></li> |
| 52 | 56 | <li><a href="selfhost.wiki">Hosting Repositories — Fossil Self</a></li> |
| 53 | 57 | <li><a href="server.wiki">How To Configure A Fossil Server</a></li> |
| 58 | +<li><a href="tech_overview.wiki">Implementation Of Fossil — A Technical Overview Of The Design And</a></li> | |
| 54 | 59 | <li><a href="inout.wiki">Import And Export To And From Git</a></li> |
| 55 | 60 | <li><a href="build.wiki">Installing Fossil — Building and</a></li> |
| 56 | 61 | <li><a href="selfcheck.wiki">Integrity Self Checks — Fossil Repository</a></li> |
| 57 | 62 | <li><a href="webui.wiki">Interface — The Fossil Web</a></li> |
| 58 | 63 | <li><a href="password.wiki">Management And Authentication — Password</a></li> |
| 59 | 64 | <li><a href="branching.wiki">Merging, and Tagging — Branching, Forking,</a></li> |
| 60 | 65 | <li><a href="checkin_names.wiki">Names — Checkin And Version</a></li> |
| 61 | 66 | <li><a href="pop.wiki">Operations — Principles Of</a></li> |
| 67 | +<li><a href="tech_overview.wiki">Overview Of The Design And Implementation Of Fossil — A Technical</a></li> | |
| 62 | 68 | <li><a href="index.wiki">Page — Home</a></li> |
| 63 | 69 | <li><a href="password.wiki">Password Management And Authentication</a></li> |
| 64 | 70 | <li><a href="quotes.wiki">People Are Saying About Fossil, Git, and DVCSes in General — Quotes: What</a></li> |
| 65 | 71 | <li><a href="stats.wiki">Performance Statistics</a></li> |
| 66 | 72 | <li><a href="pop.wiki">Principles Of Operations</a></li> |
| @@ -75,15 +81,18 @@ | ||
| 75 | 81 | <li><a href="selfcheck.wiki">Repository Integrity Self Checks — Fossil</a></li> |
| 76 | 82 | <li><a href="quotes.wiki">Saying About Fossil, Git, and DVCSes in General — Quotes: What People Are</a></li> |
| 77 | 83 | <li><a href="selfcheck.wiki">Self Checks — Fossil Repository Integrity</a></li> |
| 78 | 84 | <li><a href="selfhost.wiki">Self Hosting Repositories — Fossil</a></li> |
| 79 | 85 | <li><a href="server.wiki">Server — How To Configure A Fossil</a></li> |
| 86 | +<li><a href="shunning.wiki">Shunning: Deleting Content From Fossil</a></li> | |
| 87 | +<li><a href="tech_overview.wiki">SQLite Databases Used By Fossil</a></li> | |
| 80 | 88 | <li><a href="quickstart.wiki">Start Guide — Fossil Quick</a></li> |
| 81 | 89 | <li><a href="stats.wiki">Statistics — Performance</a></li> |
| 82 | 90 | <li><a href="sync.wiki">Sync Protocol — The Fossil</a></li> |
| 83 | 91 | <li><a href="custom_ticket.wiki">System — Customizing The Ticket</a></li> |
| 84 | 92 | <li><a href="branching.wiki">Tagging — Branching, Forking, Merging, and</a></li> |
| 93 | +<li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil — A</a></li> | |
| 85 | 94 | <li><a href="makefile.wiki">The Fossil Build Process</a></li> |
| 86 | 95 | <li><a href="sync.wiki">The Fossil Sync Protocol</a></li> |
| 87 | 96 | <li><a href="webui.wiki">The Fossil Web Interface</a></li> |
| 88 | 97 | <li><a href="theory1.wiki">Thoughts On The Design Of The Fossil DVCS</a></li> |
| 89 | 98 | <li><a href="custom_ticket.wiki">Ticket System — Customizing The</a></li> |
| 90 | 99 |
| --- www/permutedindex.wiki | |
| +++ www/permutedindex.wiki | |
| @@ -1,9 +1,11 @@ | |
| 1 | <title>Permuted Index Of Fossil Documentation</title> |
| 2 | <nowiki> |
| 3 | <ul> |
| 4 | <li><a href="event.wiki">Events</a></li> |
| 5 | <li><a href="delta_encoder_algorithm.wiki">Algorithm — Fossil Delta Encoding</a></li> |
| 6 | <li><a href="faq.wiki">Asked Questions — Frequently</a></li> |
| 7 | <li><a href="password.wiki">Authentication — Password Management And</a></li> |
| 8 | <li><a href="branching.wiki">Branching, Forking, Merging, and Tagging</a></li> |
| 9 | <li><a href="bugtheory.wiki">Bug Tracking In Fossil</a></li> |
| @@ -11,17 +13,19 @@ | |
| 11 | <li><a href="build.wiki">Building and Installing Fossil</a></li> |
| 12 | <li><a href="checkin_names.wiki">Checkin And Version Names</a></li> |
| 13 | <li><a href="selfcheck.wiki">Checks — Fossil Repository Integrity Self</a></li> |
| 14 | <li><a href="concepts.wiki">Concepts — Fossil Core</a></li> |
| 15 | <li><a href="server.wiki">Configure A Fossil Server — How To</a></li> |
| 16 | <li><a href="shunning.wiki">Content From Fossil — Deleting</a></li> |
| 17 | <li><a href="concepts.wiki">Core Concepts — Fossil</a></li> |
| 18 | <li><a href="qandc.wiki">Criticisms — Questions And</a></li> |
| 19 | <li><a href="custom_ticket.wiki">Customizing The Ticket System</a></li> |
| 20 | <li><a href="shunning.wiki">Deleting Content From Fossil</a></li> |
| 21 | <li><a href="delta_encoder_algorithm.wiki">Delta Encoding Algorithm — Fossil</a></li> |
| 22 | <li><a href="delta_format.wiki">Delta Format — Fossil</a></li> |
| 23 | <li><a href="theory1.wiki">Design Of The Fossil DVCS — Thoughts On The</a></li> |
| 24 | <li><a href="embeddeddoc.wiki">Documentation — Embedded Project</a></li> |
| 25 | <li><a href="theory1.wiki">DVCS — Thoughts On The Design Of The Fossil</a></li> |
| 26 | <li><a href="quotes.wiki">DVCSes in General — Quotes: What People Are Saying About Fossil, Git, and</a></li> |
| 27 | <li><a href="embeddeddoc.wiki">Embedded Project Documentation</a></li> |
| @@ -39,28 +43,30 @@ | |
| 39 | <li><a href="selfcheck.wiki">Fossil Repository Integrity Self Checks</a></li> |
| 40 | <li><a href="selfhost.wiki">Fossil Self Hosting Repositories</a></li> |
| 41 | <li><a href="fossil-v-git.wiki">Fossil Versus Git</a></li> |
| 42 | <li><a href="quotes.wiki">Fossil, Git, and DVCSes in General — Quotes: What People Are Saying About</a></li> |
| 43 | <li><a href="faq.wiki">Frequently Asked Questions</a></li> |
| 44 | <li><a href="shunning.wiki">From Fossil — Deleting Content</a></li> |
| 45 | <li><a href="inout.wiki">From Git — Import And Export To And</a></li> |
| 46 | <li><a href="quotes.wiki">General — Quotes: What People Are Saying About Fossil, Git, and DVCSes in</a></li> |
| 47 | <li><a href="fossil-v-git.wiki">Git — Fossil Versus</a></li> |
| 48 | <li><a href="inout.wiki">Git — Import And Export To And From</a></li> |
| 49 | <li><a href="quotes.wiki">Git, and DVCSes in General — Quotes: What People Are Saying About Fossil,</a></li> |
| 50 | <li><a href="quickstart.wiki">Guide — Fossil Quick Start</a></li> |
| 51 | <li><a href="index.wiki">Home Page</a></li> |
| 52 | <li><a href="selfhost.wiki">Hosting Repositories — Fossil Self</a></li> |
| 53 | <li><a href="server.wiki">How To Configure A Fossil Server</a></li> |
| 54 | <li><a href="inout.wiki">Import And Export To And From Git</a></li> |
| 55 | <li><a href="build.wiki">Installing Fossil — Building and</a></li> |
| 56 | <li><a href="selfcheck.wiki">Integrity Self Checks — Fossil Repository</a></li> |
| 57 | <li><a href="webui.wiki">Interface — The Fossil Web</a></li> |
| 58 | <li><a href="password.wiki">Management And Authentication — Password</a></li> |
| 59 | <li><a href="branching.wiki">Merging, and Tagging — Branching, Forking,</a></li> |
| 60 | <li><a href="checkin_names.wiki">Names — Checkin And Version</a></li> |
| 61 | <li><a href="pop.wiki">Operations — Principles Of</a></li> |
| 62 | <li><a href="index.wiki">Page — Home</a></li> |
| 63 | <li><a href="password.wiki">Password Management And Authentication</a></li> |
| 64 | <li><a href="quotes.wiki">People Are Saying About Fossil, Git, and DVCSes in General — Quotes: What</a></li> |
| 65 | <li><a href="stats.wiki">Performance Statistics</a></li> |
| 66 | <li><a href="pop.wiki">Principles Of Operations</a></li> |
| @@ -75,15 +81,18 @@ | |
| 75 | <li><a href="selfcheck.wiki">Repository Integrity Self Checks — Fossil</a></li> |
| 76 | <li><a href="quotes.wiki">Saying About Fossil, Git, and DVCSes in General — Quotes: What People Are</a></li> |
| 77 | <li><a href="selfcheck.wiki">Self Checks — Fossil Repository Integrity</a></li> |
| 78 | <li><a href="selfhost.wiki">Self Hosting Repositories — Fossil</a></li> |
| 79 | <li><a href="server.wiki">Server — How To Configure A Fossil</a></li> |
| 80 | <li><a href="quickstart.wiki">Start Guide — Fossil Quick</a></li> |
| 81 | <li><a href="stats.wiki">Statistics — Performance</a></li> |
| 82 | <li><a href="sync.wiki">Sync Protocol — The Fossil</a></li> |
| 83 | <li><a href="custom_ticket.wiki">System — Customizing The Ticket</a></li> |
| 84 | <li><a href="branching.wiki">Tagging — Branching, Forking, Merging, and</a></li> |
| 85 | <li><a href="makefile.wiki">The Fossil Build Process</a></li> |
| 86 | <li><a href="sync.wiki">The Fossil Sync Protocol</a></li> |
| 87 | <li><a href="webui.wiki">The Fossil Web Interface</a></li> |
| 88 | <li><a href="theory1.wiki">Thoughts On The Design Of The Fossil DVCS</a></li> |
| 89 | <li><a href="custom_ticket.wiki">Ticket System — Customizing The</a></li> |
| 90 |
| --- www/permutedindex.wiki | |
| +++ www/permutedindex.wiki | |
| @@ -1,9 +1,11 @@ | |
| 1 | <title>Permuted Index Of Fossil Documentation</title> |
| 2 | <nowiki> |
| 3 | <ul> |
| 4 | <li><a href="event.wiki">Events</a></li> |
| 5 | <li><a href="tech_overview.wiki">A Technical Overview Of The Design And Implementation |
| 6 | Of Fossil</a></li> |
| 7 | <li><a href="delta_encoder_algorithm.wiki">Algorithm — Fossil Delta Encoding</a></li> |
| 8 | <li><a href="faq.wiki">Asked Questions — Frequently</a></li> |
| 9 | <li><a href="password.wiki">Authentication — Password Management And</a></li> |
| 10 | <li><a href="branching.wiki">Branching, Forking, Merging, and Tagging</a></li> |
| 11 | <li><a href="bugtheory.wiki">Bug Tracking In Fossil</a></li> |
| @@ -11,17 +13,19 @@ | |
| 13 | <li><a href="build.wiki">Building and Installing Fossil</a></li> |
| 14 | <li><a href="checkin_names.wiki">Checkin And Version Names</a></li> |
| 15 | <li><a href="selfcheck.wiki">Checks — Fossil Repository Integrity Self</a></li> |
| 16 | <li><a href="concepts.wiki">Concepts — Fossil Core</a></li> |
| 17 | <li><a href="server.wiki">Configure A Fossil Server — How To</a></li> |
| 18 | <li><a href="shunning.wiki">Content From Fossil — Shunning: Deleting</a></li> |
| 19 | <li><a href="concepts.wiki">Core Concepts — Fossil</a></li> |
| 20 | <li><a href="qandc.wiki">Criticisms — Questions And</a></li> |
| 21 | <li><a href="custom_ticket.wiki">Customizing The Ticket System</a></li> |
| 22 | <li><a href="tech_overview.wiki">Databases Used By Fossil — SQLite</a></li> |
| 23 | <li><a href="shunning.wiki">Deleting Content From Fossil — Shunning:</a></li> |
| 24 | <li><a href="delta_encoder_algorithm.wiki">Delta Encoding Algorithm — Fossil</a></li> |
| 25 | <li><a href="delta_format.wiki">Delta Format — Fossil</a></li> |
| 26 | <li><a href="tech_overview.wiki">Design And Implementation Of Fossil — A Technical Overview Of The</a></li> |
| 27 | <li><a href="theory1.wiki">Design Of The Fossil DVCS — Thoughts On The</a></li> |
| 28 | <li><a href="embeddeddoc.wiki">Documentation — Embedded Project</a></li> |
| 29 | <li><a href="theory1.wiki">DVCS — Thoughts On The Design Of The Fossil</a></li> |
| 30 | <li><a href="quotes.wiki">DVCSes in General — Quotes: What People Are Saying About Fossil, Git, and</a></li> |
| 31 | <li><a href="embeddeddoc.wiki">Embedded Project Documentation</a></li> |
| @@ -39,28 +43,30 @@ | |
| 43 | <li><a href="selfcheck.wiki">Fossil Repository Integrity Self Checks</a></li> |
| 44 | <li><a href="selfhost.wiki">Fossil Self Hosting Repositories</a></li> |
| 45 | <li><a href="fossil-v-git.wiki">Fossil Versus Git</a></li> |
| 46 | <li><a href="quotes.wiki">Fossil, Git, and DVCSes in General — Quotes: What People Are Saying About</a></li> |
| 47 | <li><a href="faq.wiki">Frequently Asked Questions</a></li> |
| 48 | <li><a href="shunning.wiki">From Fossil — Shunning: Deleting Content</a></li> |
| 49 | <li><a href="inout.wiki">From Git — Import And Export To And</a></li> |
| 50 | <li><a href="quotes.wiki">General — Quotes: What People Are Saying About Fossil, Git, and DVCSes in</a></li> |
| 51 | <li><a href="fossil-v-git.wiki">Git — Fossil Versus</a></li> |
| 52 | <li><a href="inout.wiki">Git — Import And Export To And From</a></li> |
| 53 | <li><a href="quotes.wiki">Git, and DVCSes in General — Quotes: What People Are Saying About Fossil,</a></li> |
| 54 | <li><a href="quickstart.wiki">Guide — Fossil Quick Start</a></li> |
| 55 | <li><a href="index.wiki">Home Page</a></li> |
| 56 | <li><a href="selfhost.wiki">Hosting Repositories — Fossil Self</a></li> |
| 57 | <li><a href="server.wiki">How To Configure A Fossil Server</a></li> |
| 58 | <li><a href="tech_overview.wiki">Implementation Of Fossil — A Technical Overview Of The Design And</a></li> |
| 59 | <li><a href="inout.wiki">Import And Export To And From Git</a></li> |
| 60 | <li><a href="build.wiki">Installing Fossil — Building and</a></li> |
| 61 | <li><a href="selfcheck.wiki">Integrity Self Checks — Fossil Repository</a></li> |
| 62 | <li><a href="webui.wiki">Interface — The Fossil Web</a></li> |
| 63 | <li><a href="password.wiki">Management And Authentication — Password</a></li> |
| 64 | <li><a href="branching.wiki">Merging, and Tagging — Branching, Forking,</a></li> |
| 65 | <li><a href="checkin_names.wiki">Names — Checkin And Version</a></li> |
| 66 | <li><a href="pop.wiki">Operations — Principles Of</a></li> |
| 67 | <li><a href="tech_overview.wiki">Overview Of The Design And Implementation Of Fossil — A Technical</a></li> |
| 68 | <li><a href="index.wiki">Page — Home</a></li> |
| 69 | <li><a href="password.wiki">Password Management And Authentication</a></li> |
| 70 | <li><a href="quotes.wiki">People Are Saying About Fossil, Git, and DVCSes in General — Quotes: What</a></li> |
| 71 | <li><a href="stats.wiki">Performance Statistics</a></li> |
| 72 | <li><a href="pop.wiki">Principles Of Operations</a></li> |
| @@ -75,15 +81,18 @@ | |
| 81 | <li><a href="selfcheck.wiki">Repository Integrity Self Checks — Fossil</a></li> |
| 82 | <li><a href="quotes.wiki">Saying About Fossil, Git, and DVCSes in General — Quotes: What People Are</a></li> |
| 83 | <li><a href="selfcheck.wiki">Self Checks — Fossil Repository Integrity</a></li> |
| 84 | <li><a href="selfhost.wiki">Self Hosting Repositories — Fossil</a></li> |
| 85 | <li><a href="server.wiki">Server — How To Configure A Fossil</a></li> |
| 86 | <li><a href="shunning.wiki">Shunning: Deleting Content From Fossil</a></li> |
| 87 | <li><a href="tech_overview.wiki">SQLite Databases Used By Fossil</a></li> |
| 88 | <li><a href="quickstart.wiki">Start Guide — Fossil Quick</a></li> |
| 89 | <li><a href="stats.wiki">Statistics — Performance</a></li> |
| 90 | <li><a href="sync.wiki">Sync Protocol — The Fossil</a></li> |
| 91 | <li><a href="custom_ticket.wiki">System — Customizing The Ticket</a></li> |
| 92 | <li><a href="branching.wiki">Tagging — Branching, Forking, Merging, and</a></li> |
| 93 | <li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil — A</a></li> |
| 94 | <li><a href="makefile.wiki">The Fossil Build Process</a></li> |
| 95 | <li><a href="sync.wiki">The Fossil Sync Protocol</a></li> |
| 96 | <li><a href="webui.wiki">The Fossil Web Interface</a></li> |
| 97 | <li><a href="theory1.wiki">Thoughts On The Design Of The Fossil DVCS</a></li> |
| 98 | <li><a href="custom_ticket.wiki">Ticket System — Customizing The</a></li> |
| 99 |
+1
-1
| --- www/quickstart.wiki | ||
| +++ www/quickstart.wiki | ||
| @@ -203,11 +203,11 @@ | ||
| 203 | 203 | latest version of the branch your are currently on.</p> |
| 204 | 204 | |
| 205 | 205 | <h2>Branching And Merging</h2> |
| 206 | 206 | |
| 207 | 207 | <p>You can create branches by doing multiple commits off of the |
| 208 | - same base version. To merge to branches back together, first | |
| 208 | + same base version. To merge two branches back together, first | |
| 209 | 209 | [/help/update | update] to the leaf of one branch. Then do a |
| 210 | 210 | [/help/merge | merge] of the leaf of the other branch:</p> |
| 211 | 211 | |
| 212 | 212 | <blockquote> |
| 213 | 213 | <b>[/help/merge | fossil merge]</b> <i>VERSION</i> |
| 214 | 214 |
| --- www/quickstart.wiki | |
| +++ www/quickstart.wiki | |
| @@ -203,11 +203,11 @@ | |
| 203 | latest version of the branch your are currently on.</p> |
| 204 | |
| 205 | <h2>Branching And Merging</h2> |
| 206 | |
| 207 | <p>You can create branches by doing multiple commits off of the |
| 208 | same base version. To merge to branches back together, first |
| 209 | [/help/update | update] to the leaf of one branch. Then do a |
| 210 | [/help/merge | merge] of the leaf of the other branch:</p> |
| 211 | |
| 212 | <blockquote> |
| 213 | <b>[/help/merge | fossil merge]</b> <i>VERSION</i> |
| 214 |
| --- www/quickstart.wiki | |
| +++ www/quickstart.wiki | |
| @@ -203,11 +203,11 @@ | |
| 203 | latest version of the branch your are currently on.</p> |
| 204 | |
| 205 | <h2>Branching And Merging</h2> |
| 206 | |
| 207 | <p>You can create branches by doing multiple commits off of the |
| 208 | same base version. To merge two branches back together, first |
| 209 | [/help/update | update] to the leaf of one branch. Then do a |
| 210 | [/help/merge | merge] of the leaf of the other branch:</p> |
| 211 | |
| 212 | <blockquote> |
| 213 | <b>[/help/merge | fossil merge]</b> <i>VERSION</i> |
| 214 |
+1
-1
| --- www/quotes.wiki | ||
| +++ www/quotes.wiki | ||
| @@ -59,11 +59,11 @@ | ||
| 59 | 59 | <h2>On Git Versus Fossil</h2> |
| 60 | 60 | |
| 61 | 61 | <ol> |
| 62 | 62 | <li value=6> |
| 63 | 63 | Just want to say thanks for fossil making my life easier.... |
| 64 | -Also [for] not having a misanthropic command line interface. | |
| 64 | +Also <nowiki>[for]</nowiki> not having a misanthropic command line interface. | |
| 65 | 65 | |
| 66 | 66 | <blockquote> |
| 67 | 67 | <i>Joshua Paine at [http://www.mail-archive.com/[email protected]/msg02736.html]</i> |
| 68 | 68 | </blockquote> |
| 69 | 69 | |
| 70 | 70 |
| --- www/quotes.wiki | |
| +++ www/quotes.wiki | |
| @@ -59,11 +59,11 @@ | |
| 59 | <h2>On Git Versus Fossil</h2> |
| 60 | |
| 61 | <ol> |
| 62 | <li value=6> |
| 63 | Just want to say thanks for fossil making my life easier.... |
| 64 | Also [for] not having a misanthropic command line interface. |
| 65 | |
| 66 | <blockquote> |
| 67 | <i>Joshua Paine at [http://www.mail-archive.com/[email protected]/msg02736.html]</i> |
| 68 | </blockquote> |
| 69 | |
| 70 |
| --- www/quotes.wiki | |
| +++ www/quotes.wiki | |
| @@ -59,11 +59,11 @@ | |
| 59 | <h2>On Git Versus Fossil</h2> |
| 60 | |
| 61 | <ol> |
| 62 | <li value=6> |
| 63 | Just want to say thanks for fossil making my life easier.... |
| 64 | Also <nowiki>[for]</nowiki> not having a misanthropic command line interface. |
| 65 | |
| 66 | <blockquote> |
| 67 | <i>Joshua Paine at [http://www.mail-archive.com/[email protected]/msg02736.html]</i> |
| 68 | </blockquote> |
| 69 | |
| 70 |
+8
-5
| --- www/selfcheck.wiki | ||
| +++ www/selfcheck.wiki | ||
| @@ -13,12 +13,14 @@ | ||
| 13 | 13 | part to the defensive measures described here, no data has been |
| 14 | 14 | lost. The integrity checks are doing their job well.</p> |
| 15 | 15 | |
| 16 | 16 | <h2>Atomic Check-ins With Rollback</h2> |
| 17 | 17 | |
| 18 | -The fossil repository is an | |
| 19 | -<a href="http://www.sqlite.org/">SQLite version 3</a> database file. | |
| 18 | +The fossil repository is stored in an | |
| 19 | +<a href="http://www.sqlite.org/">SQLite</a> database file. | |
| 20 | +([./tech_overview.wiki | Addition information] about the repository | |
| 21 | +file format.) | |
| 20 | 22 | SQLite is very mature and stable and has been in wide-spread use for many |
| 21 | 23 | years, so we are confident it will not cause repository |
| 22 | 24 | corruption. SQLite |
| 23 | 25 | databases do not corrupt even if a program or system crash or power |
| 24 | 26 | failure occurs in the middle of the update. If some kind of crash |
| @@ -25,11 +27,12 @@ | ||
| 25 | 27 | does occur in the middle of a change, then all the changes are rolled |
| 26 | 28 | back the next time that the database is accessed. |
| 27 | 29 | |
| 28 | 30 | A check-in operation in fossil makes many changes to the repository |
| 29 | 31 | database. But all these changes happen within a single transaction. |
| 30 | -If something goes wrong in the middle of the commit, then the transaction | |
| 32 | +If something goes wrong in the middle of the commit, even if that something | |
| 33 | +is a power failure or OS crash, then the transaction | |
| 31 | 34 | is rolled back and the database is unchanged. |
| 32 | 35 | |
| 33 | 36 | <h2>Verification Of Delta Encodings Prior To Transaction Commit</h2> |
| 34 | 37 | |
| 35 | 38 | The content files that comprise the global state of a fossil repository |
| @@ -66,12 +69,12 @@ | ||
| 66 | 69 | <h2>Checksum Over All Files In A Check-in</h2> |
| 67 | 70 | |
| 68 | 71 | Manifest artifacts that define a check-in have two fields (the |
| 69 | 72 | R-card and Z-card) that record MD5 hashes of the manifest itself |
| 70 | 73 | and of all other files in the manifest. Prior to any check-in |
| 71 | -commit, these checksums are verified to ensure that the check-in | |
| 72 | -checked in agrees exactly with what is on disk. Similarly, | |
| 74 | +commit, these checksums are verified to ensure that the checkin | |
| 75 | +agrees exactly with what is on disk. Similarly, | |
| 73 | 76 | the repository checksum is verified after a checkout to make |
| 74 | 77 | sure that the entire repository was checked out correctly. |
| 75 | 78 | Note that these added checks use a different hash (MD5 instead |
| 76 | 79 | of SHA1) in order to avoid common-mode failures in the hash |
| 77 | 80 | algorithm implementation. |
| 78 | 81 |
| --- www/selfcheck.wiki | |
| +++ www/selfcheck.wiki | |
| @@ -13,12 +13,14 @@ | |
| 13 | part to the defensive measures described here, no data has been |
| 14 | lost. The integrity checks are doing their job well.</p> |
| 15 | |
| 16 | <h2>Atomic Check-ins With Rollback</h2> |
| 17 | |
| 18 | The fossil repository is an |
| 19 | <a href="http://www.sqlite.org/">SQLite version 3</a> database file. |
| 20 | SQLite is very mature and stable and has been in wide-spread use for many |
| 21 | years, so we are confident it will not cause repository |
| 22 | corruption. SQLite |
| 23 | databases do not corrupt even if a program or system crash or power |
| 24 | failure occurs in the middle of the update. If some kind of crash |
| @@ -25,11 +27,12 @@ | |
| 25 | does occur in the middle of a change, then all the changes are rolled |
| 26 | back the next time that the database is accessed. |
| 27 | |
| 28 | A check-in operation in fossil makes many changes to the repository |
| 29 | database. But all these changes happen within a single transaction. |
| 30 | If something goes wrong in the middle of the commit, then the transaction |
| 31 | is rolled back and the database is unchanged. |
| 32 | |
| 33 | <h2>Verification Of Delta Encodings Prior To Transaction Commit</h2> |
| 34 | |
| 35 | The content files that comprise the global state of a fossil repository |
| @@ -66,12 +69,12 @@ | |
| 66 | <h2>Checksum Over All Files In A Check-in</h2> |
| 67 | |
| 68 | Manifest artifacts that define a check-in have two fields (the |
| 69 | R-card and Z-card) that record MD5 hashes of the manifest itself |
| 70 | and of all other files in the manifest. Prior to any check-in |
| 71 | commit, these checksums are verified to ensure that the check-in |
| 72 | checked in agrees exactly with what is on disk. Similarly, |
| 73 | the repository checksum is verified after a checkout to make |
| 74 | sure that the entire repository was checked out correctly. |
| 75 | Note that these added checks use a different hash (MD5 instead |
| 76 | of SHA1) in order to avoid common-mode failures in the hash |
| 77 | algorithm implementation. |
| 78 |
| --- www/selfcheck.wiki | |
| +++ www/selfcheck.wiki | |
| @@ -13,12 +13,14 @@ | |
| 13 | part to the defensive measures described here, no data has been |
| 14 | lost. The integrity checks are doing their job well.</p> |
| 15 | |
| 16 | <h2>Atomic Check-ins With Rollback</h2> |
| 17 | |
| 18 | The fossil repository is stored in an |
| 19 | <a href="http://www.sqlite.org/">SQLite</a> database file. |
| 20 | ([./tech_overview.wiki | Addition information] about the repository |
| 21 | file format.) |
| 22 | SQLite is very mature and stable and has been in wide-spread use for many |
| 23 | years, so we are confident it will not cause repository |
| 24 | corruption. SQLite |
| 25 | databases do not corrupt even if a program or system crash or power |
| 26 | failure occurs in the middle of the update. If some kind of crash |
| @@ -25,11 +27,12 @@ | |
| 27 | does occur in the middle of a change, then all the changes are rolled |
| 28 | back the next time that the database is accessed. |
| 29 | |
| 30 | A check-in operation in fossil makes many changes to the repository |
| 31 | database. But all these changes happen within a single transaction. |
| 32 | If something goes wrong in the middle of the commit, even if that something |
| 33 | is a power failure or OS crash, then the transaction |
| 34 | is rolled back and the database is unchanged. |
| 35 | |
| 36 | <h2>Verification Of Delta Encodings Prior To Transaction Commit</h2> |
| 37 | |
| 38 | The content files that comprise the global state of a fossil repository |
| @@ -66,12 +69,12 @@ | |
| 69 | <h2>Checksum Over All Files In A Check-in</h2> |
| 70 | |
| 71 | Manifest artifacts that define a check-in have two fields (the |
| 72 | R-card and Z-card) that record MD5 hashes of the manifest itself |
| 73 | and of all other files in the manifest. Prior to any check-in |
| 74 | commit, these checksums are verified to ensure that the checkin |
| 75 | agrees exactly with what is on disk. Similarly, |
| 76 | the repository checksum is verified after a checkout to make |
| 77 | sure that the entire repository was checked out correctly. |
| 78 | Note that these added checks use a different hash (MD5 instead |
| 79 | of SHA1) in order to avoid common-mode failures in the hash |
| 80 | algorithm implementation. |
| 81 |
+167
-9
| --- www/tech_overview.wiki | ||
| +++ www/tech_overview.wiki | ||
| @@ -6,11 +6,11 @@ | ||
| 6 | 6 | <h2>1.0 Introduction</h2> |
| 7 | 7 | |
| 8 | 8 | At its lowest level, a Fossil repository consists of an unordered set |
| 9 | 9 | of immutable "artifacts". You might think of these artifacts as "files", |
| 10 | 10 | since in many cases the artifacts exactly correspond to source code files |
| 11 | -that are stored in the Fossil repostory. But other "control artifacts" | |
| 11 | +that are stored in the Fossil repository. But other "control artifacts" | |
| 12 | 12 | are also included in the mix. These control artifacts define the relationships |
| 13 | 13 | between artifacts - which files go together to form a particular |
| 14 | 14 | version of the project, who checked in that version and when, what was |
| 15 | 15 | the check-in comment, what wiki pages are included with the project, what |
| 16 | 16 | are the edit histories of each wiki page, what bug reports or tickets are |
| @@ -84,11 +84,11 @@ | ||
| 84 | 84 | <li>[./fileformat.wiki | Global state of the project] |
| 85 | 85 | encoded using delta-compression |
| 86 | 86 | <li>Local [/help/setting|settings] |
| 87 | 87 | <li>Web interface display preferences |
| 88 | 88 | <li>User credentials and permissions |
| 89 | -<li>Meta-data about the global state to facilitate rapid | |
| 89 | +<li>Metadata about the global state to facilitate rapid | |
| 90 | 90 | queries |
| 91 | 91 | </ul> |
| 92 | 92 | </td> |
| 93 | 93 | <td width="33%" valign="top"> |
| 94 | 94 | <h3 align="center">Checkout Database<br>"_FOSSIL_"</h3> |
| @@ -122,11 +122,11 @@ | ||
| 122 | 122 | have reasonable defaults, and so many users will never need to change them. |
| 123 | 123 | But if changes to settings are desired, the configuration database provides |
| 124 | 124 | a way to change settings for all repositories with a single command, rather |
| 125 | 125 | than having to change the setting individually on each repository. |
| 126 | 126 | |
| 127 | -The configuration database also maintains a list of respositories. This | |
| 127 | +The configuration database also maintains a list of repositories. This | |
| 128 | 128 | list is used by the [/help/all | fossil all] command in order to run various |
| 129 | 129 | operations such as "sync" or "rebuild" on all repositories managed by a user. |
| 130 | 130 | |
| 131 | 131 | On unix systems, the configuration database is named ".fossil" and is |
| 132 | 132 | located in the user's home directory. On windows, the configuration |
| @@ -137,12 +137,12 @@ | ||
| 137 | 137 | <h3>2.2 Repository Databases</h3> |
| 138 | 138 | |
| 139 | 139 | The repository database is the file that is commonly referred to as |
| 140 | 140 | "the repository". This is because the repository database contains, |
| 141 | 141 | among other things, the complete revision, ticket, and wiki history for |
| 142 | -a project. It is customary to name the respository database after then | |
| 143 | -name of the project, with a ".fossil" suffix. For example, the respository | |
| 142 | +a project. It is customary to name the repository database after then | |
| 143 | +name of the project, with a ".fossil" suffix. For example, the repository | |
| 144 | 144 | database for the self-hosting Fossil repository is called "fossil.fossil" |
| 145 | 145 | and the repository database for SQLite is called "sqlite.fossil". |
| 146 | 146 | |
| 147 | 147 | <h4>2.2.1 Global Project State</h4> |
| 148 | 148 | |
| @@ -167,13 +167,171 @@ | ||
| 167 | 167 | efficiently on disk. |
| 168 | 168 | |
| 169 | 169 | All of the original uncompressed and undeltaed artifacts can be extracted |
| 170 | 170 | from a Fossil repository database using |
| 171 | 171 | the [/help/deconstruct | fossil deconstruct] |
| 172 | -command. Going the other way, the [/help/reconstruct | fossil reconstruct] | |
| 172 | +command. Individual artifacts can be extracted using the | |
| 173 | +[/help/artifact | fossil artifact] command. | |
| 174 | +When accessing the repository database using raw SQL and the | |
| 175 | +[/help/sqlite3 | fossil sql] command, the extension function | |
| 176 | +"<tt>content()</tt>" with a single argument which is the SHA1 hash | |
| 177 | +of an artifact will return the complete undeleted and uncompressed | |
| 178 | +content of that artifact. | |
| 179 | + | |
| 180 | +Going the other way, the [/help/reconstruct | fossil reconstruct] | |
| 173 | 181 | command will scan a directory hierarchy and add all files found to |
| 174 | -a new repository database. The [/help/artifact | fossil artifact] command | |
| 175 | -can be used to extract individual artifacts from the repository database. | |
| 182 | +a new repository database. The [/help/import | fossil import] command | |
| 183 | +works by reading the input git-fast-export stream and using it to construct | |
| 184 | +corresponding artifacts which are then written into the repository database. | |
| 185 | + | |
| 186 | +<h4>2.2.2 Project Metadata</h4> | |
| 187 | + | |
| 188 | +The global project state information in the repository database is | |
| 189 | +supplemented by computed metadata that makes querying the project state | |
| 190 | +more efficient. Metadata includes but information such as the following: | |
| 191 | + | |
| 192 | + * The names for all files found in any checkin. | |
| 193 | + * All check-ins that modify a given file | |
| 194 | + * Parents and children of each checkin. | |
| 195 | + * Potential timeline rows. | |
| 196 | + * The names of all symbolic tags and the checkins they apply to. | |
| 197 | + * The names of all wiki pages and the artifacts that comprise each | |
| 198 | + wiki page. | |
| 199 | + * Attachments and the wiki pages or tickets they apply to. | |
| 200 | + * Current content of each ticket. | |
| 201 | + * Cross-references between tickets, checkins, and wiki pages. | |
| 202 | + | |
| 203 | +The metadata is held in various SQL tables in the repository database. | |
| 204 | +The metadata is designed to facilitate queries for the various timelines and | |
| 205 | +reports that Fossil generates. | |
| 206 | +As the functionality of Fossil evolves, | |
| 207 | +the schema for the metadata can and does change from time to time. | |
| 208 | +But schema changes do no invalidate the repository. Remember that the | |
| 209 | +metadata contains no new information - only information that has been | |
| 210 | +extracted from the canonical artifacts and saved in a more useful form. | |
| 211 | +Hence, when the metadata schema changes, the prior metadata can be discarded | |
| 212 | +and the entire metadata corpus can be recomputed from the canonical | |
| 213 | +artifacts. That is what the | |
| 214 | +[/help/rebuild | fossil rebuild] command does. | |
| 215 | + | |
| 216 | +<h4>2.2.3 Display And Processing Preferences</h4> | |
| 217 | + | |
| 218 | +The repository database also holds information used to help format | |
| 219 | +the display of web pages and configuration settings that override the | |
| 220 | +global configuration settings for the specific repository. All of | |
| 221 | +this information (and the user credentials and privileges too) is | |
| 222 | +local to each repository database; it is not shared between repositories | |
| 223 | +by [/help/sync | fossil sync]. That is because it is entirely reasonable | |
| 224 | +that two different websites for the same project might have completely | |
| 225 | +different display preferences and user communities. One instance of the | |
| 226 | +project might be a fork of the other, for example, which pulls from the | |
| 227 | +other but never pushes and extends the project in ways that the keepers of | |
| 228 | +the other website disapprove of. | |
| 229 | + | |
| 230 | +Display and processing information includes the following: | |
| 231 | + | |
| 232 | + * The name and description of the project | |
| 233 | + * The CSS file, header, and footer used by all web pages | |
| 234 | + * The project logo image | |
| 235 | + * Fields of tickets that are considered "significant" and which are | |
| 236 | + therefore collected from artifacts and made available for display | |
| 237 | + * Templates for screens to view, edit, and create tickets | |
| 238 | + * Ticket report formats and display preferences | |
| 239 | + * Local values for [/help/setting | settings] that override the | |
| 240 | + global values defined in the per-user configuration database. | |
| 241 | + | |
| 242 | +Though the display and processing preferences do not move between | |
| 243 | +repository instances using [/help/sync | fossil sync], this information | |
| 244 | +can be shared between repositories using the | |
| 245 | +[/help/config | fossil config push] and | |
| 246 | +[/help/config | fossil config pull] commands. | |
| 247 | +The display and processing information is also copied into new | |
| 248 | +repositories when they are created using | |
| 249 | +[/help/clone | fossil clone]. | |
| 250 | + | |
| 251 | +<h4>2.2.4 User Credentials And Privileges</h4> | |
| 252 | + | |
| 253 | +Just because two development teams are collaborating on a project and allow | |
| 254 | +push and/or pull between their repositories does not mean that they | |
| 255 | +trust each other enough to share passwords and access privileges. | |
| 256 | +Hence the names and emails and passwords and privileges of users are | |
| 257 | +considered private information that is kept locally in each repository. | |
| 258 | + | |
| 259 | +Each repository database has a table holding the username, privileges, | |
| 260 | +and login credentials for users authorized to interact with that particular | |
| 261 | +database. In addition, there is a table named "concealed" that maps the | |
| 262 | +SHA1 hash of each users email address back into their true email address. | |
| 263 | +The concealed table allows just the SHA1 hash of email addresses to | |
| 264 | +be stored in tickets, and thus prevents actual email addresses from falling | |
| 265 | +into the hands of spammers who happen to clone the repository. | |
| 266 | + | |
| 267 | +The content of the user and concealed tables can be pushed and pulled using the | |
| 268 | +[/help/config | fossil config push] and | |
| 269 | +[/help/config | fossil config pull] commands with the "user" and | |
| 270 | +"email" as the AREA argument, but only if you have administrative | |
| 271 | +privileges on the remote repository. | |
| 272 | + | |
| 273 | +<h4>2.2.5 Shunned Artifact List</h4> | |
| 274 | + | |
| 275 | +The set of canonical artifacts for a project - the global state for the | |
| 276 | +project - is intended to be an append-only database. In other words, | |
| 277 | +new artifacts can be added but artifacts can never be removed. But | |
| 278 | +it sometimes happens that inappropriate content can be mistakenly or | |
| 279 | +maliciously added to a repository. When that happens, the only way | |
| 280 | +to get rid of the content is to [./shunning.wiki | "shun"] it. | |
| 281 | +The "shun" table in the repository database records the SHA1 hash of | |
| 282 | +all shunned artifacts. | |
| 176 | 283 | |
| 177 | - | |
| 284 | +The shun table can be pushed or pulled using | |
| 285 | +the [/help/config | fossil config] command with the "shun" AREA argument. | |
| 286 | +The shun table is also copied during a [/help/clone | clone]. | |
| 178 | 287 | |
| 179 | 288 | <h3>2.3 Checkout Databases</h3> |
| 289 | + | |
| 290 | +Unlike several other popular DVCSes, Fossil allows a single repository | |
| 291 | +to have multiple working checkouts. Each working checkout has a single | |
| 292 | +database in its root directory that records the state of that checkout. | |
| 293 | +The checkout database is named "_FOSSIL_" by default, but can be renamed | |
| 294 | +to ".fos" if desired. (Future versions of Fossil might make ".fos" the | |
| 295 | +default name.) The checkout database records information such as the | |
| 296 | +following: | |
| 297 | + | |
| 298 | + * The full pathname of the repository database file. | |
| 299 | + * The version that is currently checked out. | |
| 300 | + * Files that have been [/help/add | added], | |
| 301 | + [/help/rm | removed], or [/help/mv | renamed] but not | |
| 302 | + yet committed. | |
| 303 | + * The mtime and size of files as they were originally checked out, | |
| 304 | + in order to expedite checking which files have been edited. | |
| 305 | + * Other checkins that have been [/help/merge | merged] into the | |
| 306 | + working checkout but not yet committed. | |
| 307 | + * Copies of files prior to the most recent undoable operation - needed to | |
| 308 | + implement the [/help/undo | undo] and [/help/redo | redo] commands. | |
| 309 | + * The [/help/stash | stash]. | |
| 310 | + * State information for the [/help/bisect | bisect] command. | |
| 311 | + | |
| 312 | +For Fossil commands that run from within a working checkout, the | |
| 313 | +first thing that happens is that Fossil locates the checkout database. | |
| 314 | +Fossil first looks in the current directory. If not found there, it | |
| 315 | +looks in the parent directory. If not found there, the parent of the | |
| 316 | +parent. And so forth until either the checkout database is found | |
| 317 | +or the search reaches the root of the filesystem. (In the latter case, | |
| 318 | +Fossil returns an error, of course.) Once the checkout database is | |
| 319 | +located, it is used to locate the repository database. | |
| 320 | + | |
| 321 | +Notice that the checkout database contains a pointer to the repository | |
| 322 | +database but that the repository database has no record of the checkout | |
| 323 | +databases. That means that a working checkout directory tree can be | |
| 324 | +freely renamed or copied or deleted without consequence. But the | |
| 325 | +repository database file, on the other hand, has to stay in the same | |
| 326 | +place with the same name or else the open checkout databases will not | |
| 327 | +be able to find it. | |
| 328 | + | |
| 329 | +A checkout database is created by the [/help/open | fossil open] command. | |
| 330 | +A checkout database is deleted by [/help/close | fossil close]. The | |
| 331 | +fossil close command really isn't needed; one can accomplish the same | |
| 332 | +thing simply by deleting the checkout database. | |
| 333 | + | |
| 334 | +Note that the stash, the undo stack, and the state of the bisect command | |
| 335 | +are all contained within the checkout database. That means that the | |
| 336 | +fossil close command will delete all stash content, the undo stack, and | |
| 337 | +the bisect state. The close command is not undoable. Use it with care. | |
| 180 | 338 |
| --- www/tech_overview.wiki | |
| +++ www/tech_overview.wiki | |
| @@ -6,11 +6,11 @@ | |
| 6 | <h2>1.0 Introduction</h2> |
| 7 | |
| 8 | At its lowest level, a Fossil repository consists of an unordered set |
| 9 | of immutable "artifacts". You might think of these artifacts as "files", |
| 10 | since in many cases the artifacts exactly correspond to source code files |
| 11 | that are stored in the Fossil repostory. But other "control artifacts" |
| 12 | are also included in the mix. These control artifacts define the relationships |
| 13 | between artifacts - which files go together to form a particular |
| 14 | version of the project, who checked in that version and when, what was |
| 15 | the check-in comment, what wiki pages are included with the project, what |
| 16 | are the edit histories of each wiki page, what bug reports or tickets are |
| @@ -84,11 +84,11 @@ | |
| 84 | <li>[./fileformat.wiki | Global state of the project] |
| 85 | encoded using delta-compression |
| 86 | <li>Local [/help/setting|settings] |
| 87 | <li>Web interface display preferences |
| 88 | <li>User credentials and permissions |
| 89 | <li>Meta-data about the global state to facilitate rapid |
| 90 | queries |
| 91 | </ul> |
| 92 | </td> |
| 93 | <td width="33%" valign="top"> |
| 94 | <h3 align="center">Checkout Database<br>"_FOSSIL_"</h3> |
| @@ -122,11 +122,11 @@ | |
| 122 | have reasonable defaults, and so many users will never need to change them. |
| 123 | But if changes to settings are desired, the configuration database provides |
| 124 | a way to change settings for all repositories with a single command, rather |
| 125 | than having to change the setting individually on each repository. |
| 126 | |
| 127 | The configuration database also maintains a list of respositories. This |
| 128 | list is used by the [/help/all | fossil all] command in order to run various |
| 129 | operations such as "sync" or "rebuild" on all repositories managed by a user. |
| 130 | |
| 131 | On unix systems, the configuration database is named ".fossil" and is |
| 132 | located in the user's home directory. On windows, the configuration |
| @@ -137,12 +137,12 @@ | |
| 137 | <h3>2.2 Repository Databases</h3> |
| 138 | |
| 139 | The repository database is the file that is commonly referred to as |
| 140 | "the repository". This is because the repository database contains, |
| 141 | among other things, the complete revision, ticket, and wiki history for |
| 142 | a project. It is customary to name the respository database after then |
| 143 | name of the project, with a ".fossil" suffix. For example, the respository |
| 144 | database for the self-hosting Fossil repository is called "fossil.fossil" |
| 145 | and the repository database for SQLite is called "sqlite.fossil". |
| 146 | |
| 147 | <h4>2.2.1 Global Project State</h4> |
| 148 | |
| @@ -167,13 +167,171 @@ | |
| 167 | efficiently on disk. |
| 168 | |
| 169 | All of the original uncompressed and undeltaed artifacts can be extracted |
| 170 | from a Fossil repository database using |
| 171 | the [/help/deconstruct | fossil deconstruct] |
| 172 | command. Going the other way, the [/help/reconstruct | fossil reconstruct] |
| 173 | command will scan a directory hierarchy and add all files found to |
| 174 | a new repository database. The [/help/artifact | fossil artifact] command |
| 175 | can be used to extract individual artifacts from the repository database. |
| 176 | |
| 177 | |
| 178 | |
| 179 | <h3>2.3 Checkout Databases</h3> |
| 180 |
| --- www/tech_overview.wiki | |
| +++ www/tech_overview.wiki | |
| @@ -6,11 +6,11 @@ | |
| 6 | <h2>1.0 Introduction</h2> |
| 7 | |
| 8 | At its lowest level, a Fossil repository consists of an unordered set |
| 9 | of immutable "artifacts". You might think of these artifacts as "files", |
| 10 | since in many cases the artifacts exactly correspond to source code files |
| 11 | that are stored in the Fossil repository. But other "control artifacts" |
| 12 | are also included in the mix. These control artifacts define the relationships |
| 13 | between artifacts - which files go together to form a particular |
| 14 | version of the project, who checked in that version and when, what was |
| 15 | the check-in comment, what wiki pages are included with the project, what |
| 16 | are the edit histories of each wiki page, what bug reports or tickets are |
| @@ -84,11 +84,11 @@ | |
| 84 | <li>[./fileformat.wiki | Global state of the project] |
| 85 | encoded using delta-compression |
| 86 | <li>Local [/help/setting|settings] |
| 87 | <li>Web interface display preferences |
| 88 | <li>User credentials and permissions |
| 89 | <li>Metadata about the global state to facilitate rapid |
| 90 | queries |
| 91 | </ul> |
| 92 | </td> |
| 93 | <td width="33%" valign="top"> |
| 94 | <h3 align="center">Checkout Database<br>"_FOSSIL_"</h3> |
| @@ -122,11 +122,11 @@ | |
| 122 | have reasonable defaults, and so many users will never need to change them. |
| 123 | But if changes to settings are desired, the configuration database provides |
| 124 | a way to change settings for all repositories with a single command, rather |
| 125 | than having to change the setting individually on each repository. |
| 126 | |
| 127 | The configuration database also maintains a list of repositories. This |
| 128 | list is used by the [/help/all | fossil all] command in order to run various |
| 129 | operations such as "sync" or "rebuild" on all repositories managed by a user. |
| 130 | |
| 131 | On unix systems, the configuration database is named ".fossil" and is |
| 132 | located in the user's home directory. On windows, the configuration |
| @@ -137,12 +137,12 @@ | |
| 137 | <h3>2.2 Repository Databases</h3> |
| 138 | |
| 139 | The repository database is the file that is commonly referred to as |
| 140 | "the repository". This is because the repository database contains, |
| 141 | among other things, the complete revision, ticket, and wiki history for |
| 142 | a project. It is customary to name the repository database after then |
| 143 | name of the project, with a ".fossil" suffix. For example, the repository |
| 144 | database for the self-hosting Fossil repository is called "fossil.fossil" |
| 145 | and the repository database for SQLite is called "sqlite.fossil". |
| 146 | |
| 147 | <h4>2.2.1 Global Project State</h4> |
| 148 | |
| @@ -167,13 +167,171 @@ | |
| 167 | efficiently on disk. |
| 168 | |
| 169 | All of the original uncompressed and undeltaed artifacts can be extracted |
| 170 | from a Fossil repository database using |
| 171 | the [/help/deconstruct | fossil deconstruct] |
| 172 | command. Individual artifacts can be extracted using the |
| 173 | [/help/artifact | fossil artifact] command. |
| 174 | When accessing the repository database using raw SQL and the |
| 175 | [/help/sqlite3 | fossil sql] command, the extension function |
| 176 | "<tt>content()</tt>" with a single argument which is the SHA1 hash |
| 177 | of an artifact will return the complete undeleted and uncompressed |
| 178 | content of that artifact. |
| 179 | |
| 180 | Going the other way, the [/help/reconstruct | fossil reconstruct] |
| 181 | command will scan a directory hierarchy and add all files found to |
| 182 | a new repository database. The [/help/import | fossil import] command |
| 183 | works by reading the input git-fast-export stream and using it to construct |
| 184 | corresponding artifacts which are then written into the repository database. |
| 185 | |
| 186 | <h4>2.2.2 Project Metadata</h4> |
| 187 | |
| 188 | The global project state information in the repository database is |
| 189 | supplemented by computed metadata that makes querying the project state |
| 190 | more efficient. Metadata includes but information such as the following: |
| 191 | |
| 192 | * The names for all files found in any checkin. |
| 193 | * All check-ins that modify a given file |
| 194 | * Parents and children of each checkin. |
| 195 | * Potential timeline rows. |
| 196 | * The names of all symbolic tags and the checkins they apply to. |
| 197 | * The names of all wiki pages and the artifacts that comprise each |
| 198 | wiki page. |
| 199 | * Attachments and the wiki pages or tickets they apply to. |
| 200 | * Current content of each ticket. |
| 201 | * Cross-references between tickets, checkins, and wiki pages. |
| 202 | |
| 203 | The metadata is held in various SQL tables in the repository database. |
| 204 | The metadata is designed to facilitate queries for the various timelines and |
| 205 | reports that Fossil generates. |
| 206 | As the functionality of Fossil evolves, |
| 207 | the schema for the metadata can and does change from time to time. |
| 208 | But schema changes do no invalidate the repository. Remember that the |
| 209 | metadata contains no new information - only information that has been |
| 210 | extracted from the canonical artifacts and saved in a more useful form. |
| 211 | Hence, when the metadata schema changes, the prior metadata can be discarded |
| 212 | and the entire metadata corpus can be recomputed from the canonical |
| 213 | artifacts. That is what the |
| 214 | [/help/rebuild | fossil rebuild] command does. |
| 215 | |
| 216 | <h4>2.2.3 Display And Processing Preferences</h4> |
| 217 | |
| 218 | The repository database also holds information used to help format |
| 219 | the display of web pages and configuration settings that override the |
| 220 | global configuration settings for the specific repository. All of |
| 221 | this information (and the user credentials and privileges too) is |
| 222 | local to each repository database; it is not shared between repositories |
| 223 | by [/help/sync | fossil sync]. That is because it is entirely reasonable |
| 224 | that two different websites for the same project might have completely |
| 225 | different display preferences and user communities. One instance of the |
| 226 | project might be a fork of the other, for example, which pulls from the |
| 227 | other but never pushes and extends the project in ways that the keepers of |
| 228 | the other website disapprove of. |
| 229 | |
| 230 | Display and processing information includes the following: |
| 231 | |
| 232 | * The name and description of the project |
| 233 | * The CSS file, header, and footer used by all web pages |
| 234 | * The project logo image |
| 235 | * Fields of tickets that are considered "significant" and which are |
| 236 | therefore collected from artifacts and made available for display |
| 237 | * Templates for screens to view, edit, and create tickets |
| 238 | * Ticket report formats and display preferences |
| 239 | * Local values for [/help/setting | settings] that override the |
| 240 | global values defined in the per-user configuration database. |
| 241 | |
| 242 | Though the display and processing preferences do not move between |
| 243 | repository instances using [/help/sync | fossil sync], this information |
| 244 | can be shared between repositories using the |
| 245 | [/help/config | fossil config push] and |
| 246 | [/help/config | fossil config pull] commands. |
| 247 | The display and processing information is also copied into new |
| 248 | repositories when they are created using |
| 249 | [/help/clone | fossil clone]. |
| 250 | |
| 251 | <h4>2.2.4 User Credentials And Privileges</h4> |
| 252 | |
| 253 | Just because two development teams are collaborating on a project and allow |
| 254 | push and/or pull between their repositories does not mean that they |
| 255 | trust each other enough to share passwords and access privileges. |
| 256 | Hence the names and emails and passwords and privileges of users are |
| 257 | considered private information that is kept locally in each repository. |
| 258 | |
| 259 | Each repository database has a table holding the username, privileges, |
| 260 | and login credentials for users authorized to interact with that particular |
| 261 | database. In addition, there is a table named "concealed" that maps the |
| 262 | SHA1 hash of each users email address back into their true email address. |
| 263 | The concealed table allows just the SHA1 hash of email addresses to |
| 264 | be stored in tickets, and thus prevents actual email addresses from falling |
| 265 | into the hands of spammers who happen to clone the repository. |
| 266 | |
| 267 | The content of the user and concealed tables can be pushed and pulled using the |
| 268 | [/help/config | fossil config push] and |
| 269 | [/help/config | fossil config pull] commands with the "user" and |
| 270 | "email" as the AREA argument, but only if you have administrative |
| 271 | privileges on the remote repository. |
| 272 | |
| 273 | <h4>2.2.5 Shunned Artifact List</h4> |
| 274 | |
| 275 | The set of canonical artifacts for a project - the global state for the |
| 276 | project - is intended to be an append-only database. In other words, |
| 277 | new artifacts can be added but artifacts can never be removed. But |
| 278 | it sometimes happens that inappropriate content can be mistakenly or |
| 279 | maliciously added to a repository. When that happens, the only way |
| 280 | to get rid of the content is to [./shunning.wiki | "shun"] it. |
| 281 | The "shun" table in the repository database records the SHA1 hash of |
| 282 | all shunned artifacts. |
| 283 | |
| 284 | The shun table can be pushed or pulled using |
| 285 | the [/help/config | fossil config] command with the "shun" AREA argument. |
| 286 | The shun table is also copied during a [/help/clone | clone]. |
| 287 | |
| 288 | <h3>2.3 Checkout Databases</h3> |
| 289 | |
| 290 | Unlike several other popular DVCSes, Fossil allows a single repository |
| 291 | to have multiple working checkouts. Each working checkout has a single |
| 292 | database in its root directory that records the state of that checkout. |
| 293 | The checkout database is named "_FOSSIL_" by default, but can be renamed |
| 294 | to ".fos" if desired. (Future versions of Fossil might make ".fos" the |
| 295 | default name.) The checkout database records information such as the |
| 296 | following: |
| 297 | |
| 298 | * The full pathname of the repository database file. |
| 299 | * The version that is currently checked out. |
| 300 | * Files that have been [/help/add | added], |
| 301 | [/help/rm | removed], or [/help/mv | renamed] but not |
| 302 | yet committed. |
| 303 | * The mtime and size of files as they were originally checked out, |
| 304 | in order to expedite checking which files have been edited. |
| 305 | * Other checkins that have been [/help/merge | merged] into the |
| 306 | working checkout but not yet committed. |
| 307 | * Copies of files prior to the most recent undoable operation - needed to |
| 308 | implement the [/help/undo | undo] and [/help/redo | redo] commands. |
| 309 | * The [/help/stash | stash]. |
| 310 | * State information for the [/help/bisect | bisect] command. |
| 311 | |
| 312 | For Fossil commands that run from within a working checkout, the |
| 313 | first thing that happens is that Fossil locates the checkout database. |
| 314 | Fossil first looks in the current directory. If not found there, it |
| 315 | looks in the parent directory. If not found there, the parent of the |
| 316 | parent. And so forth until either the checkout database is found |
| 317 | or the search reaches the root of the filesystem. (In the latter case, |
| 318 | Fossil returns an error, of course.) Once the checkout database is |
| 319 | located, it is used to locate the repository database. |
| 320 | |
| 321 | Notice that the checkout database contains a pointer to the repository |
| 322 | database but that the repository database has no record of the checkout |
| 323 | databases. That means that a working checkout directory tree can be |
| 324 | freely renamed or copied or deleted without consequence. But the |
| 325 | repository database file, on the other hand, has to stay in the same |
| 326 | place with the same name or else the open checkout databases will not |
| 327 | be able to find it. |
| 328 | |
| 329 | A checkout database is created by the [/help/open | fossil open] command. |
| 330 | A checkout database is deleted by [/help/close | fossil close]. The |
| 331 | fossil close command really isn't needed; one can accomplish the same |
| 332 | thing simply by deleting the checkout database. |
| 333 | |
| 334 | Note that the stash, the undo stack, and the state of the bisect command |
| 335 | are all contained within the checkout database. That means that the |
| 336 | fossil close command will delete all stash content, the undo stack, and |
| 337 | the bisect state. The close command is not undoable. Use it with care. |
| 338 |