1
2
3
4
5
6
7
8
9
10
11
12
13
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
-
+
-
-
+
+
+
+
+
+
+
-
+
-
+
|
<h1>Why Fossil?</h1>
[https://www.fossil-scm.org|Fossil] is a form of version control, and like most hep developers I use version control because of its several [https://www.fossil-scm.org/index.html/doc/trunk/www/whyusefossil.wiki|benefits].
[https://www.fossil-scm.org|Fossil] provides version control, and like most hep developers I use version control because of its several [https://www.fossil-scm.org/index.html/doc/trunk/www/whyusefossil.wiki|benefits].
As well, I wanted to keep everything in one place. <i>The Local Yarn</i> is (as noted elsewhere) not “a website”; rather it is <tt>A)</tt> writing, <tt>B)</tt> print and hypertext designs for the writing, <em>and</em> <tt>C)</tt> the source code that ties these things together. So I have always wanted to make the code, and the use of the code, a first-class part of the <em>thing</em> that can be explored here. In order to do that properly, I need it to live in the same place as everything else, rather than sending visitors off to an outside host like GitHub or GitLab.
However, you are likely reading this because of the implied second half of the question: why Fossil <em>and not Git</em>?
<ul>
<li>I want the source code to be part of the website. Fossil lets me do that easily, and lets me control the web interface, without running a database server or any third-party applications. Git doesn’t.</li>
<li>The Fossil program is a single file and a Fossil repo is a single SQLite file. Deploying Fossil and moving repos around is dead-simple.</li>
<li>For this project, I wanted granular control over how outside developers interact with the code: something between totally public or totally private. Fossil gives me very fine-grained [http://fossil-scm.org/index.html/doc/trunk/www/caps/ref.html|permissions] to apply to [http://fossil-scm.org/index.html/doc/trunk/www/caps/|different individual users, types of accounts, or anonymous users].</li>
<li>Fossil repos include bug tracking, embedded documentation, and wikis which are tightly integrated with the version-control functionality. This means all of my development notes and issue tracking are actually part my project, rather than objects hosted on a third-party service.</li>
</ul>
Being familiar with Git, you may find the following analogy statement instructive:
<pre><code>GitHub hosted repo : Self-hosted Fossil repo :: Expo floor booth : The Batcave</code></pre>
<b>GitHub hosted repo : Self-hosted Fossil repo :: Expo floor booth : The Batcave</b>
It’s a rough analogy, but it works. Fossil [http://fossil-scm.org/index.html/doc/trunk/www/index.wiki|does more] than Git, it allows finer control of [http://fossil-scm.org/index.html/doc/trunk/www/customskin.md|presentation] and [http://fossil-scm.org/index.html/doc/trunk/www/webui.wiki|security], and is (for better or worse, depending on the project) well outside of the GitHub social network and pull-request system.
It’s a rough analogy, but it works.
|