Fossil SCM

Add information on the Git-to-Fossil converter and a comparison article on Fossil and Git.

drh 2010-11-11 18:21 trunk
Commit ae0628aa99a835f01fa06d5b4a41ecc2121bf419
--- a/www/fossil-v-git.wiki
+++ b/www/fossil-v-git.wiki
@@ -0,0 +1,101 @@
1
+,h3>
2
+
3
+Git provides file versioning services only, whereas Fossil adds an
4
+integrated [./wikitheory.wiki | wiki],
5
+[./bugtheory.wiki | ticketisg & bug trackpers. Instead, all of the developers work together cooperatively
6
+and the her cooperatively
7
+and the changes stay integrated naturally.
8
+
9
+So to a first approxima y.
10
+
11
+So to a first approximation, branches in Git are developer-centric whereas
12
+branches in Fossil are feature-centric.
13
+
14
+The Git approach scales much better for large projects like the Linux
15
+kernel with thousands of contributors who in many cases don't even know
16
+each other's names. The integrators serve a gatekeeper role to help keep
17
+undesirable code out of the official Linux source tree. On the other hand,
18
+not many projects are as big or as loosely organized as the Linux kernel.
19
+Most projects have a small team of developers who all know each other
20
+well and trust eacHuge communityes file versioning services only, whereas Fossil adds an
21
+integrated [./wikitheory.wiki | wiki],
22
+[./bugtheory.wiki | ticketing & bug trackpers. Instead, all of the developers work together cooperatively
23
+and the changes stay integrated naturally.
24
+
25
+So to a first approxima y.
26
+
27
+So to a first approximation, branches in Git are developer-centric whereas
28
+brancentric.
29
+
30
+The Git approach scales much better for large projects like the Linux
31
+kernel with thousands of contributors who in many cases don't even know
32
+each other's names. The integrators serve a gatekeeper role to help keep
33
+undesirable code out of the official Linux source tree. On the other hand,
34
+not many projects are as big or as loosely organizitzed as the Linux kernel.
35
+Most projects have a small team of developers who all know each other
36
+well and trust each other, and who enjoy working together collaboratively
37
+without the overhead ing Modelators.
38
+
39
+Onesupports a sharded source tree, whereas Fossil wants all all
40
+syncing repositories to carry all information. Git allows individual
41
+developers to maintain multiple branches on their local repository
42
+and then selectively push only one or two branches to higher level
43
+developers. Fossil alsoioning services local branches, but Fossil
44
+tends to encourage sharing everything, not just onproxima y.
45
+
46
+So to a first approximation, branches in Git are devel, since Linus doesn't reallyuch better for large projects like the Linux
47
+kernel with thousands of contributors who in many cases don't even know
48
+each other's names. The integrators serve a gatekeeper role to help keep
49
+undesirable code out of the oFossil encourages a tight-knit, smaller, and more closely
50
+cooperating developer community where all participants share all
51
+of their code all of the time.
52
+
53
+The prototypical Git development model is that each developer maintains
54
+their own branch and the various changes from each developer are later
55
+merged into a master branch by an integrator. The prototypical Fossil
56
+development model is that and are part of the collaborate on the same
57
+branch at the same time.
58
+
59
+So in other words, Git promotes a model where individual developers
60
+keep a subset of the branches of a project (sharding) whereas Fossil
61
+promotes every developer having a complete copy of all branches
62
+(replicating)ses "<tt>rebase</tt>"</td><td>Immutable</td></tr>
63
+<tr><td>GPL</td><td>BSD</td></tr>
64
+</table></blockquote>
65
+
66
+<h2>3.0 Discussion</h2>
67
+
68
+<h3>3.1 Feature Set</h3>
69
+
70
+Git provides file versioning services only, whereas Fossil adds an
71
+integrated [./wikitheor<tt>fossil ui</tt>kitheory.wiki | wiki],
72
+[./bugtheory.wiki | ticketing &amp; bug tracking],
73
+[./embeddeddoc.wiki | embedded documentation], and
74
+[./event.wiki | Technical n ame branch.
75
+Branches do not belong to individuals. All branches are read/write
76
+accessible to all developers at all times. There is no need
77
+for integrators to merge together changes from various independent
78
+developers. Instead, all of the developers work together cooperatively
79
+and the changes stay integrated naturally.
80
+
81
+So to a first approxima y.
82
+
83
+So to a first approximation, branches in Git are developer-centric whereas
84
+branches in Fossil are feature-centric.
85
+
86
+The Git approacfor you the product will worko you, then you should choose Git.
87
+
88
+Fossil is clearly the "road less traveled":
89
+
90
+<blockquote>
91
+Two roads diverged in a wood, and I &#151;<br>
92
+I took the one attention from the l>- Robert Frost, <i>The Road Not Taken</i>, 1916</small>
93
+</blockquote>
94
+</i></blockquote>
95
+
96
+Among the advantages of ing&nbsp;
97
+<small>- Robert Frost, <i>The Road Not Taken</i>, 1916</small>
98
+</blockquote>
99
+</i></blockquote>
100
+
101
+Among the advantages of ing678
--- a/www/fossil-v-git.wiki
+++ b/www/fossil-v-git.wiki
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/www/fossil-v-git.wiki
+++ b/www/fossil-v-git.wiki
@@ -0,0 +1,101 @@
1 ,h3>
2
3 Git provides file versioning services only, whereas Fossil adds an
4 integrated [./wikitheory.wiki | wiki],
5 [./bugtheory.wiki | ticketisg &amp; bug trackpers. Instead, all of the developers work together cooperatively
6 and the her cooperatively
7 and the changes stay integrated naturally.
8
9 So to a first approxima y.
10
11 So to a first approximation, branches in Git are developer-centric whereas
12 branches in Fossil are feature-centric.
13
14 The Git approach scales much better for large projects like the Linux
15 kernel with thousands of contributors who in many cases don't even know
16 each other's names. The integrators serve a gatekeeper role to help keep
17 undesirable code out of the official Linux source tree. On the other hand,
18 not many projects are as big or as loosely organized as the Linux kernel.
19 Most projects have a small team of developers who all know each other
20 well and trust eacHuge communityes file versioning services only, whereas Fossil adds an
21 integrated [./wikitheory.wiki | wiki],
22 [./bugtheory.wiki | ticketing &amp; bug trackpers. Instead, all of the developers work together cooperatively
23 and the changes stay integrated naturally.
24
25 So to a first approxima y.
26
27 So to a first approximation, branches in Git are developer-centric whereas
28 brancentric.
29
30 The Git approach scales much better for large projects like the Linux
31 kernel with thousands of contributors who in many cases don't even know
32 each other's names. The integrators serve a gatekeeper role to help keep
33 undesirable code out of the official Linux source tree. On the other hand,
34 not many projects are as big or as loosely organizitzed as the Linux kernel.
35 Most projects have a small team of developers who all know each other
36 well and trust each other, and who enjoy working together collaboratively
37 without the overhead ing Modelators.
38
39 Onesupports a sharded source tree, whereas Fossil wants all all
40 syncing repositories to carry all information. Git allows individual
41 developers to maintain multiple branches on their local repository
42 and then selectively push only one or two branches to higher level
43 developers. Fossil alsoioning services local branches, but Fossil
44 tends to encourage sharing everything, not just onproxima y.
45
46 So to a first approximation, branches in Git are devel, since Linus doesn't reallyuch better for large projects like the Linux
47 kernel with thousands of contributors who in many cases don't even know
48 each other's names. The integrators serve a gatekeeper role to help keep
49 undesirable code out of the oFossil encourages a tight-knit, smaller, and more closely
50 cooperating developer community where all participants share all
51 of their code all of the time.
52
53 The prototypical Git development model is that each developer maintains
54 their own branch and the various changes from each developer are later
55 merged into a master branch by an integrator. The prototypical Fossil
56 development model is that and are part of the collaborate on the same
57 branch at the same time.
58
59 So in other words, Git promotes a model where individual developers
60 keep a subset of the branches of a project (sharding) whereas Fossil
61 promotes every developer having a complete copy of all branches
62 (replicating)ses "<tt>rebase</tt>"</td><td>Immutable</td></tr>
63 <tr><td>GPL</td><td>BSD</td></tr>
64 </table></blockquote>
65
66 <h2>3.0 Discussion</h2>
67
68 <h3>3.1 Feature Set</h3>
69
70 Git provides file versioning services only, whereas Fossil adds an
71 integrated [./wikitheor<tt>fossil ui</tt>kitheory.wiki | wiki],
72 [./bugtheory.wiki | ticketing &amp; bug tracking],
73 [./embeddeddoc.wiki | embedded documentation], and
74 [./event.wiki | Technical n ame branch.
75 Branches do not belong to individuals. All branches are read/write
76 accessible to all developers at all times. There is no need
77 for integrators to merge together changes from various independent
78 developers. Instead, all of the developers work together cooperatively
79 and the changes stay integrated naturally.
80
81 So to a first approxima y.
82
83 So to a first approximation, branches in Git are developer-centric whereas
84 branches in Fossil are feature-centric.
85
86 The Git approacfor you the product will worko you, then you should choose Git.
87
88 Fossil is clearly the "road less traveled":
89
90 <blockquote>
91 Two roads diverged in a wood, and I &#151;<br>
92 I took the one attention from the l>- Robert Frost, <i>The Road Not Taken</i>, 1916</small>
93 </blockquote>
94 </i></blockquote>
95
96 Among the advantages of ing&nbsp;
97 <small>- Robert Frost, <i>The Road Not Taken</i>, 1916</small>
98 </blockquote>
99 </i></blockquote>
100
101 Among the advantages of ing678
--- www/index.wiki
+++ www/index.wiki
@@ -131,10 +131,12 @@
131131
to configure the ticketing subsystem.
132132
* A free hosting server for Fossil repositories is available at
133133
[http://chiselapp.com/].
134134
* How to [./server.wiki | set up a server] for your repository.
135135
* Customizing the [./custom_ticket.wiki | ticket system].
136
+ * [./inout.wiki | Import and export] from and to Git.
137
+ * [./fossil-v-git.wiki | Fossil versus Git].
136138
137139
<h3>Links For Fossil Developer:</h3>
138140
139141
* [./theory1.wiki | Thoughts On The Design Of Fossil].
140142
* [./pop.wiki | Principles Of Operation]
141143
142144
ADDED www/inout.wiki
--- www/index.wiki
+++ www/index.wiki
@@ -131,10 +131,12 @@
131 to configure the ticketing subsystem.
132 * A free hosting server for Fossil repositories is available at
133 [http://chiselapp.com/].
134 * How to [./server.wiki | set up a server] for your repository.
135 * Customizing the [./custom_ticket.wiki | ticket system].
 
 
136
137 <h3>Links For Fossil Developer:</h3>
138
139 * [./theory1.wiki | Thoughts On The Design Of Fossil].
140 * [./pop.wiki | Principles Of Operation]
141
142 DDED www/inout.wiki
--- www/index.wiki
+++ www/index.wiki
@@ -131,10 +131,12 @@
131 to configure the ticketing subsystem.
132 * A free hosting server for Fossil repositories is available at
133 [http://chiselapp.com/].
134 * How to [./server.wiki | set up a server] for your repository.
135 * Customizing the [./custom_ticket.wiki | ticket system].
136 * [./inout.wiki | Import and export] from and to Git.
137 * [./fossil-v-git.wiki | Fossil versus Git].
138
139 <h3>Links For Fossil Developer:</h3>
140
141 * [./theory1.wiki | Thoughts On The Design Of Fossil].
142 * [./pop.wiki | Principles Of Operation]
143
144 DDED www/inout.wiki
--- a/www/inout.wiki
+++ b/www/inout.wiki
@@ -0,0 +1,11 @@
1
+brun commands like In other words, simplyof the "git fast" command. namebr un commands like In other words, simplyof the "git fast" command. name other words, simplyof the "git fast" command. name
2
+
3
+An anonymous user sends this comment:
4
+
5
+<blockquote>
6
+The main Fossil branch is called "trunk", while the main git branch is
7
+called "master"&rarr;fter you've exported your FOSSIL repo to git, you won't
8
+see any files and gitk will complain about a missing "HEAD". Yo
9
+resolve this problem by merging "trunk" with "master"
10
+(first verify using git status that you are on the "master" branch):
11
+<tt>git2nR" commandn
--- a/www/inout.wiki
+++ b/www/inout.wiki
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
--- a/www/inout.wiki
+++ b/www/inout.wiki
@@ -0,0 +1,11 @@
1 brun commands like In other words, simplyof the "git fast" command. namebr un commands like In other words, simplyof the "git fast" command. name other words, simplyof the "git fast" command. name
2
3 An anonymous user sends this comment:
4
5 <blockquote>
6 The main Fossil branch is called "trunk", while the main git branch is
7 called "master"&rarr;fter you've exported your FOSSIL repo to git, you won't
8 see any files and gitk will complain about a missing "HEAD". Yo
9 resolve this problem by merging "trunk" with "master"
10 (first verify using git status that you are on the "master" branch):
11 <tt>git2nR" commandn
--- www/quickstart.wiki
+++ www/quickstart.wiki
@@ -82,10 +82,17 @@
8282
is not required.</p>
8383
8484
<p>Note: If you are behind a restrictive firewall, you might need
8585
to <a href="#proxy">specify an HTTP proxy</a> to use.</p>
8686
87
+</blockquote><h2>Importing From Another Version Control System</h2><blockquote>
88
+
89
+ <p>Rather than start a new project, or clone an existing Fossil project,
90
+ you might prefer to
91
+ <a href="./inout.wiki">import an existing Git project</a>
92
+ into Fossil.
93
+
8794
</blockquote><h2>Checking Out A Local Tree</h2><blockquote>
8895
8996
<p>To work on a project in fossil, you need to check out a local
9097
copy of the source tree. Create the directory you want to be
9198
the root of your tree and cd into that directory. Then
9299
--- www/quickstart.wiki
+++ www/quickstart.wiki
@@ -82,10 +82,17 @@
82 is not required.</p>
83
84 <p>Note: If you are behind a restrictive firewall, you might need
85 to <a href="#proxy">specify an HTTP proxy</a> to use.</p>
86
 
 
 
 
 
 
 
87 </blockquote><h2>Checking Out A Local Tree</h2><blockquote>
88
89 <p>To work on a project in fossil, you need to check out a local
90 copy of the source tree. Create the directory you want to be
91 the root of your tree and cd into that directory. Then
92
--- www/quickstart.wiki
+++ www/quickstart.wiki
@@ -82,10 +82,17 @@
82 is not required.</p>
83
84 <p>Note: If you are behind a restrictive firewall, you might need
85 to <a href="#proxy">specify an HTTP proxy</a> to use.</p>
86
87 </blockquote><h2>Importing From Another Version Control System</h2><blockquote>
88
89 <p>Rather than start a new project, or clone an existing Fossil project,
90 you might prefer to
91 <a href="./inout.wiki">import an existing Git project</a>
92 into Fossil.
93
94 </blockquote><h2>Checking Out A Local Tree</h2><blockquote>
95
96 <p>To work on a project in fossil, you need to check out a local
97 copy of the source tree. Create the directory you want to be
98 the root of your tree and cd into that directory. Then
99

Keyboard Shortcuts

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