Fossil SCM

Tweaks to the fossil-v-git document.

drh 2013-07-19 17:23 trunk
Commit 56926aabf810addef2be66b055e7404cf44614e0
1 file changed +29 -16
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -115,13 +115,18 @@
115115
The Git approach scales much better for large projects like the Linux
116116
kernel with thousands of contributors who in many cases don't even know
117117
each others names. The integrators serve a gatekeeper role to help keep
118118
undesirable code out of the official Linux source tree. On the other hand,
119119
not many projects are as big or as loosely organized as the Linux kernel.
120
-Most project, have a small team of developers who all know each other
120
+Most projects have a small team of developers who all know each other
121121
well and trust each other, and who enjoy working together collaboratively
122122
without the overhead and hierarchy of integrators.
123
+
124
+One consequence of the "everybody-sees-everything" focus of Fossil is that
125
+branch names are global and are part of the distributed and synchronized
126
+content of a Fossil repository, rather than being private and user-specific
127
+as they are in Git.
123128
124129
<h3>3.4 Complexity</h3>
125130
126131
Git is a complex system. It can be tricky to use and requires a fair
127132
amount of knowledge and experience to master. Fossil strives to be
@@ -139,19 +144,20 @@
139144
Git requires the developer to maintain a more complex mental model than
140145
most other DVCSes. Git takes longer to learn. And you have to spend
141146
more time thinking about what you are doing with Git.
142147
143148
Fossil strives for simplicity. Fossil wants to be easy to learn and to
144
-require little thinking about how to operating it. Reports from the
145
-field indicate that Fossil is mostly successful at this effort.
149
+require little thinking about how to operating it.
150
+[./quotes.wiki | Reports from the field]
151
+indicate that Fossil is mostly successful at this effort.
146152
147153
<h3>3.5 Web Interface</h3>
148154
149155
Git has a web interface, but it requires a fair amount of setup and an
150156
external web server. Fossil comes with a fully functional
151157
[./webui.wiki | built-in web-server]
152
-and a really simple mechanism (the "<tt>fossil ui</tt>" command) to
158
+and a really simple mechanism (the "[/help/ui|fossil ui]" command) to
153159
automatically start the web server and bring up a web browser to navigate
154160
it. The web interface for Fossil is not only easier to set up, it is also
155161
more powerful and easier to use. The web interface to Fossil is a practical
156162
replacement to the 3rd-party "GUI Tools" that users often employ to operate
157163
Git.
@@ -188,22 +194,29 @@
188194
<h3>3.8 Audit Trail</h3>
189195
190196
Git features the "rebase" command which can be used to change the
191197
sequence of check-ins in the repository. Rebase can be used to "clean up"
192198
a complex sequence of check-ins to make their intent easier for others
193
-to understand. From another point of view, rebase can be used to
194
-"rewrite history" - to do what
195
-[http://en.wikipedia.org/wiki/Winston_Smith | Winston Smith] did for
196
-a living in Orwell's novel
197
-[http://en.wikipedia.org/wiki/Nineteen_Eighty-Four | 1984].
198
-
199
-Fossil deliberately avoids rewriting history. Fossil strives to follow
200
-the accountants philosophy of never erasing anything. Mistakes are fixed
201
-by entering a correction, with an explanation of why the correction is
202
-needed. This can make the history of a project messy, but it also
203
-makes it more honest. The lack of a "rebase" function is considered
204
-a feature of Fossil, not a bug.
199
+to understand. This is important if you view the history of a project
200
+as part of the documentation for the project.
201
+
202
+Fossil takes an opposing view. Fossil views history as sacrosanct and
203
+stubornly refuses to change it.
204
+Fossil allows mistakes to be corrected (for example, check-in comments
205
+can be revised, and check-ins can be moved onto new branches even after
206
+the check-in has occurred) but the correction is an addition to the respository
207
+and the original actions are preserved and displayed alongside
208
+the corrections, thus preserving an historically accurate audit trail.
209
+This is analogous to an accountant marking through an incorrect
210
+entry in a ledger and writing in a correction beside it, rather than
211
+erasing and incorrect entry.
212
+
213
+To put it another way, Git remembers what you should have done whereas
214
+Fossil remembers what you actually did.
215
+
216
+The lack of a "rebase" command and the inability to rewrite history
217
+is considered a feature of Fossil, not an omission or bug.
205218
206219
<h3>3.9 License</h3>
207220
208221
Both Git and Fossil are open-source. Git is under
209222
[http://www.gnu.org/licenses/gpl.html | GPL] whereas Fossil is
210223
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -115,13 +115,18 @@
115 The Git approach scales much better for large projects like the Linux
116 kernel with thousands of contributors who in many cases don't even know
117 each others names. The integrators serve a gatekeeper role to help keep
118 undesirable code out of the official Linux source tree. On the other hand,
119 not many projects are as big or as loosely organized as the Linux kernel.
120 Most project, have a small team of developers who all know each other
121 well and trust each other, and who enjoy working together collaboratively
122 without the overhead and hierarchy of integrators.
 
 
 
 
 
123
124 <h3>3.4 Complexity</h3>
125
126 Git is a complex system. It can be tricky to use and requires a fair
127 amount of knowledge and experience to master. Fossil strives to be
@@ -139,19 +144,20 @@
139 Git requires the developer to maintain a more complex mental model than
140 most other DVCSes. Git takes longer to learn. And you have to spend
141 more time thinking about what you are doing with Git.
142
143 Fossil strives for simplicity. Fossil wants to be easy to learn and to
144 require little thinking about how to operating it. Reports from the
145 field indicate that Fossil is mostly successful at this effort.
 
146
147 <h3>3.5 Web Interface</h3>
148
149 Git has a web interface, but it requires a fair amount of setup and an
150 external web server. Fossil comes with a fully functional
151 [./webui.wiki | built-in web-server]
152 and a really simple mechanism (the "<tt>fossil ui</tt>" command) to
153 automatically start the web server and bring up a web browser to navigate
154 it. The web interface for Fossil is not only easier to set up, it is also
155 more powerful and easier to use. The web interface to Fossil is a practical
156 replacement to the 3rd-party "GUI Tools" that users often employ to operate
157 Git.
@@ -188,22 +194,29 @@
188 <h3>3.8 Audit Trail</h3>
189
190 Git features the "rebase" command which can be used to change the
191 sequence of check-ins in the repository. Rebase can be used to "clean up"
192 a complex sequence of check-ins to make their intent easier for others
193 to understand. From another point of view, rebase can be used to
194 "rewrite history" - to do what
195 [http://en.wikipedia.org/wiki/Winston_Smith | Winston Smith] did for
196 a living in Orwell's novel
197 [http://en.wikipedia.org/wiki/Nineteen_Eighty-Four | 1984].
198
199 Fossil deliberately avoids rewriting history. Fossil strives to follow
200 the accountants philosophy of never erasing anything. Mistakes are fixed
201 by entering a correction, with an explanation of why the correction is
202 needed. This can make the history of a project messy, but it also
203 makes it more honest. The lack of a "rebase" function is considered
204 a feature of Fossil, not a bug.
 
 
 
 
 
 
 
205
206 <h3>3.9 License</h3>
207
208 Both Git and Fossil are open-source. Git is under
209 [http://www.gnu.org/licenses/gpl.html | GPL] whereas Fossil is
210
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -115,13 +115,18 @@
115 The Git approach scales much better for large projects like the Linux
116 kernel with thousands of contributors who in many cases don't even know
117 each others names. The integrators serve a gatekeeper role to help keep
118 undesirable code out of the official Linux source tree. On the other hand,
119 not many projects are as big or as loosely organized as the Linux kernel.
120 Most projects have a small team of developers who all know each other
121 well and trust each other, and who enjoy working together collaboratively
122 without the overhead and hierarchy of integrators.
123
124 One consequence of the "everybody-sees-everything" focus of Fossil is that
125 branch names are global and are part of the distributed and synchronized
126 content of a Fossil repository, rather than being private and user-specific
127 as they are in Git.
128
129 <h3>3.4 Complexity</h3>
130
131 Git is a complex system. It can be tricky to use and requires a fair
132 amount of knowledge and experience to master. Fossil strives to be
@@ -139,19 +144,20 @@
144 Git requires the developer to maintain a more complex mental model than
145 most other DVCSes. Git takes longer to learn. And you have to spend
146 more time thinking about what you are doing with Git.
147
148 Fossil strives for simplicity. Fossil wants to be easy to learn and to
149 require little thinking about how to operating it.
150 [./quotes.wiki | Reports from the field]
151 indicate that Fossil is mostly successful at this effort.
152
153 <h3>3.5 Web Interface</h3>
154
155 Git has a web interface, but it requires a fair amount of setup and an
156 external web server. Fossil comes with a fully functional
157 [./webui.wiki | built-in web-server]
158 and a really simple mechanism (the "[/help/ui|fossil ui]" command) to
159 automatically start the web server and bring up a web browser to navigate
160 it. The web interface for Fossil is not only easier to set up, it is also
161 more powerful and easier to use. The web interface to Fossil is a practical
162 replacement to the 3rd-party "GUI Tools" that users often employ to operate
163 Git.
@@ -188,22 +194,29 @@
194 <h3>3.8 Audit Trail</h3>
195
196 Git features the "rebase" command which can be used to change the
197 sequence of check-ins in the repository. Rebase can be used to "clean up"
198 a complex sequence of check-ins to make their intent easier for others
199 to understand. This is important if you view the history of a project
200 as part of the documentation for the project.
201
202 Fossil takes an opposing view. Fossil views history as sacrosanct and
203 stubornly refuses to change it.
204 Fossil allows mistakes to be corrected (for example, check-in comments
205 can be revised, and check-ins can be moved onto new branches even after
206 the check-in has occurred) but the correction is an addition to the respository
207 and the original actions are preserved and displayed alongside
208 the corrections, thus preserving an historically accurate audit trail.
209 This is analogous to an accountant marking through an incorrect
210 entry in a ledger and writing in a correction beside it, rather than
211 erasing and incorrect entry.
212
213 To put it another way, Git remembers what you should have done whereas
214 Fossil remembers what you actually did.
215
216 The lack of a "rebase" command and the inability to rewrite history
217 is considered a feature of Fossil, not an omission or bug.
218
219 <h3>3.9 License</h3>
220
221 Both Git and Fossil are open-source. Git is under
222 [http://www.gnu.org/licenses/gpl.html | GPL] whereas Fossil is
223

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button