Fossil SCM
Tweaks to the fossil-v-git document.
Commit
56926aabf810addef2be66b055e7404cf44614e0
Parent
e5c634b1eaa537b…
1 file changed
+29
-16
+29
-16
| --- www/fossil-v-git.wiki | ||
| +++ www/fossil-v-git.wiki | ||
| @@ -115,13 +115,18 @@ | ||
| 115 | 115 | The Git approach scales much better for large projects like the Linux |
| 116 | 116 | kernel with thousands of contributors who in many cases don't even know |
| 117 | 117 | each others names. The integrators serve a gatekeeper role to help keep |
| 118 | 118 | undesirable code out of the official Linux source tree. On the other hand, |
| 119 | 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 | |
| 120 | +Most projects have a small team of developers who all know each other | |
| 121 | 121 | well and trust each other, and who enjoy working together collaboratively |
| 122 | 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. | |
| 123 | 128 | |
| 124 | 129 | <h3>3.4 Complexity</h3> |
| 125 | 130 | |
| 126 | 131 | Git is a complex system. It can be tricky to use and requires a fair |
| 127 | 132 | amount of knowledge and experience to master. Fossil strives to be |
| @@ -139,19 +144,20 @@ | ||
| 139 | 144 | Git requires the developer to maintain a more complex mental model than |
| 140 | 145 | most other DVCSes. Git takes longer to learn. And you have to spend |
| 141 | 146 | more time thinking about what you are doing with Git. |
| 142 | 147 | |
| 143 | 148 | 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. | |
| 146 | 152 | |
| 147 | 153 | <h3>3.5 Web Interface</h3> |
| 148 | 154 | |
| 149 | 155 | Git has a web interface, but it requires a fair amount of setup and an |
| 150 | 156 | external web server. Fossil comes with a fully functional |
| 151 | 157 | [./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 | |
| 153 | 159 | automatically start the web server and bring up a web browser to navigate |
| 154 | 160 | it. The web interface for Fossil is not only easier to set up, it is also |
| 155 | 161 | more powerful and easier to use. The web interface to Fossil is a practical |
| 156 | 162 | replacement to the 3rd-party "GUI Tools" that users often employ to operate |
| 157 | 163 | Git. |
| @@ -188,22 +194,29 @@ | ||
| 188 | 194 | <h3>3.8 Audit Trail</h3> |
| 189 | 195 | |
| 190 | 196 | Git features the "rebase" command which can be used to change the |
| 191 | 197 | sequence of check-ins in the repository. Rebase can be used to "clean up" |
| 192 | 198 | 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. | |
| 205 | 218 | |
| 206 | 219 | <h3>3.9 License</h3> |
| 207 | 220 | |
| 208 | 221 | Both Git and Fossil are open-source. Git is under |
| 209 | 222 | [http://www.gnu.org/licenses/gpl.html | GPL] whereas Fossil is |
| 210 | 223 |
| --- 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 |