FSS is a tool that mirrors some of git's features.
It's mainly meant as training for me to understand the concepts behind git better and to learn C++.
This is by no means clean code and it's also untested. It also doesn't support all git commands.
The following tools/libraries need to be installed:
scons(https://scons.org/doc/production/HTML/scons-user/ch01s02.html)boost.program_options(https://www.boost.org/doc/libs/1_58_0/doc/html/program_options.html) including the dev libraries, usually installed viaapt install libboost-program-options-devboost.filesystem(https://www.boost.org/doc/libs/1_79_0/libs/filesystem/doc/index.htm) including the dev libraries, usually installed viaapt install libboost-filesystem-devcryptopp(https://cryptopp.com/) including the dev libraries, usually installed viaapt install libcrypto++-devnlohmann json(https://github.com/nlohmann/json) including the dev libraries, usually installed viaapt install nlohmann-json3-dev
To compile, just run scons in the root directory of this repo
All commands listed here presume that the fss binary has been added to the PATH variable.
To initialise a fss repository, change into the directory you want under version control and run:
fss initTo add a file, be in a directory under fss version control and run:
fss add <filename>Where <filename> is the name of the file you want to add.
To create a new commit, be in a directory under fss version control and run:
fss commit "This is a commit message"Commit messages containing spaces have to be surrounded by ".