A 'Fossil' review that packs Git and GitHub features into one binary



Speaking of software version control, Git and GitHub are the mainstream. However, version control systems have options other than 'Git and GitHub,' such as

CVS , Subversion , Mercurial , GitLab , and Bitbucket . One of the alternatives to 'Git and GitHub' is ' Fossil ', which was developed by D. Richard Hipp as well as database SQLite .

Fossil: Home
https://www.fossil-scm.org/home/doc/trunk/www/index.wiki

Fossil is compatible with Linux, macOS and Windows, and you can even build your own binaries from the source code. This time I will use Fossil on Ubuntu 20.04.

First, execute the following command to place the Fossil binary in an executable directory. Fossil is software that runs as a single binary, so there is no need to install other dependent packages.
[code] wget -O --https://www.fossil-scm.org/home/uv/fossil-linux-x64-2.13.tar.gz | tar xzvf-
sudo mv fossil / usr / local / bin [/ code]



Then create a new project with the following command.

[code] fossil init myrepo.fossil [/ code]



When you create a project, a file named 'myrepo.fossil' will be created under the project ID, server ID, administrator ID, password, and current directory.



Executing the following command will generate a project tree and you will be able to manage the files.

[code] fossil open -f myrepo.fossil [/ code]



The execution result looks like this.



In order to add the file to the project at once, create a 'README.md' file that describes the following project.



You can add files to your project by running the following command.

[code] fossil add. [/ Code]



To commit your changes to your project, run the following command: In this way, Fossil is software that can manage code versions with a command system similar to Git.

[code] fossil commit -m 'Initial Commit' [/ code]



Like git, you can also clone a remote repository.

[code] fossil clone https://www.sqlite.org/src sqlite.fossil [/ code]



In addition, Fossil has a web interface, so you can check the project from the web interface by executing the following command. Fossil's web interface acts like 'GitHub' or 'GitLab' in Git.

[code] fossil ui myrepo.fossil [/ code]



When I accessed 'http: // localhost: 8080 /', the Fossil web screen was displayed. Since it is necessary to set the project, click 'config / setup' in the red frame.



Set the project name, project description, tar file naming convention, etc. and click 'Apply Changes'. This completes the project settings.



In 'Timeline', you can check the commit history of the project.



In 'Files', you can check the files in the project.



You can also post questions about the project on the Forum. Click 'New Thread' to create a new thread.



Click 'Preview' when you can enter the title and content of the question.



A preview was displayed at the top.



Check the preview and click Submit if you are satisfied.



Like this, I was able to create a new thread in the forum.



From 'New ticket' of 'Tickets', you can issue a ticket for reporting bugs and defects.



After entering the ticket name, problem type, problem version, problem urgency, and problem content, click 'Preview'.



After confirming the preview, click 'Submit'.



You have now issued a ticket.



Click 'All Tickets' in 'Tickets' ...



You can check the ticket list by ticket status. When developing software, you will be dealing with problems while looking at this screen.



In 'Wiki', you can keep the Wiki of the project. Click 'New' to create a new Wiki.



Enter a name for your Wiki and click Create.



The Wiki editor will be displayed, so enter the content and click 'Save & Close'.



You have now created a Wiki.




Fossil has an 'autosync' mode that automatically reflects the contents of the local repository to the remote repository, and you can enable autosync by executing the following command.

[code] fossil setting autosync on [/ code]


The comparison table of Git and Fossil by Fossil is as follows.

Git Fossil
function File version control only Version control, tickets, wikis, forums, web screens, etc.
architecture A collection of many small programs One standalone binary
Data storage Key-value data store SQLite
Operating system Native operation on POSIX systems Native operation on both POSIX and Windows
Development method Development of bazaar method Development of the Sangharama method
design Designed for Linux kernel development Designed for SQLite development
Contributor Many A few elite
policy Focus on each branch Focus on the entire update tree
check out One in one repository Multiple in one repository
What to record Record what to do Record what you did
culture Commit first Test first
hash SHA-1 / SHA-2 compatible Supports SHA-1 / SHA-3 in the same repository

in Review,   Software, Posted by darkhorse_log