11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
a high-level summary and the text that follows for more details.
Keep in mind that you are reading this on a Fossil website, and though
we try to be fair, the information here
might be biased in favor of Fossil. Ask around for second opinions from
people who have used <em>both</em> Fossil and Git.
¹<small><i>Git does not include a
wiki, a ticket tracker, a forum, or a tech-note feature, so those elements will not transfer when
exporting from Fossil to Git. GitHub adds some of these to stock Git,
but because they're not part of Git proper, [./mirrortogithub.md|exporting a Fossil
repository to GitHub] will still not include them; Fossil tickets do not
become GitHub issues, for example.</i></small>
<h2>2.0 Differences Between Fossil And Git</h2>
|
|
|
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
a high-level summary and the text that follows for more details.
Keep in mind that you are reading this on a Fossil website, and though
we try to be fair, the information here
might be biased in favor of Fossil. Ask around for second opinions from
people who have used <em>both</em> Fossil and Git.
¹ <small><i>Git does not include a
wiki, a ticket tracker, a forum, or a tech-note feature, so those elements will not transfer when
exporting from Fossil to Git. GitHub adds some of these to stock Git,
but because they're not part of Git proper, [./mirrortogithub.md|exporting a Fossil
repository to GitHub] will still not include them; Fossil tickets do not
become GitHub issues, for example.</i></small>
<h2>2.0 Differences Between Fossil And Git</h2>
|
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|
[https://en.wikipedia.org/wiki/Flat_organization|flat
organizations].</p></li>
<li><p><b>Anonymous contribution discouraged:</b> Anonymous
contribution is possible in a Fossil project, but there is no
low-friction path to it, as in Git. Fossil's closest equivalent to
Git pull requests is the [/help?cmd=bundle|bundle], which requires
higher engagement than firing off a PR. Both Fossil and Git also
support <tt>patch(1)</tt> files, but that's a lossy contribution
path in both systems.</p></li>
<li><p><b>No rebasing:</b> When a remote clone syncs changes up to
its parent repository, the changes are sent exactly as they were
committed to the local repository. [#history|There is no rebasing
mechanism, on purpose.]</p></li>
<li><p><b>Sync over push:</b> Explicit pushes are uncommon in
|
|
<
<
|
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
|
[https://en.wikipedia.org/wiki/Flat_organization|flat
organizations].</p></li>
<li><p><b>Anonymous contribution discouraged:</b> Anonymous
contribution is possible in a Fossil project, but there is no
low-friction path to it, as in Git. Fossil's closest equivalent to
Git pull requests is the [/help?cmd=bundle|bundle], which requires
higher engagement than firing off a PR.²</p></li>
<li><p><b>No rebasing:</b> When a remote clone syncs changes up to
its parent repository, the changes are sent exactly as they were
committed to the local repository. [#history|There is no rebasing
mechanism, on purpose.]</p></li>
<li><p><b>Sync over push:</b> Explicit pushes are uncommon in
|
234
235
236
237
238
239
240
241
242
243
244
245
246
247
|
everyone's work and on reporting on the state of the project and the
work of its developers, so that everyone — especially the project leader
— can maintain a better mental picture of what is happening, leading to
better situational awareness.
Each DVCS can be used in the opposite style, but doing so works against
their low-friction paths.
<h4 id="scale">2.3.2 Scale</h4>
The Linux kernel has a far bigger developer community than that of
SQLite: there are thousands and thousands of contributors to Linux, most
of whom do not know each others names. These thousands are responsible
|
>
>
>
>
>
>
>
>
>
|
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
|
everyone's work and on reporting on the state of the project and the
work of its developers, so that everyone — especially the project leader
— can maintain a better mental picture of what is happening, leading to
better situational awareness.
Each DVCS can be used in the opposite style, but doing so works against
their low-friction paths.
² <small><i>Both Fossil and Git support
[https://en.wikipedia.org/wiki/Patch_(Unix)|<tt>patch(1)</tt> files],
which is a common way to allow drive-by contributions, but it's a lossy
contribution path for both systems. Unlike Git PRs and Fossil bundles,
patches collapse mulitple checkins together, they don't include check-in
comments, and the cannot encode changes made above the individual file
content layer: branching decisisions, tag changes, file renames, file
deletions, etc.</small>
<h4 id="scale">2.3.2 Scale</h4>
The Linux kernel has a far bigger developer community than that of
SQLite: there are thousands and thousands of contributors to Linux, most
of whom do not know each others names. These thousands are responsible
|