diff --git a/README.md b/README.md index 49eb4f1..c88964d 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ -Git Repository Synchronizer v1 is a system that provides individuals the ability to archive a git repository without having to worry about the archive being sabotaged. - -GRS creates snapshots when it detects the source repository has been tampered with. - -Tampering is detected when the source git repository reduces in size by a certain threshold. The threshold can be set by modifying `thresholdFactor` in `grs.sh`. Setting `thresholdFactor=5` would mean that the source git repository would have to drop by 20% for it to be considered as tampering. The way 20% is derived from a `thresholdFactor` of `5` is by dividing `1/thresholdFactor` which in the case of `1/5` would equal `0.2` which is the ratio for 20%. - -The execution cycle can be set by configuring `timer.service` using systemd conventions. The settings default to executing every ten minutes on the hour. - -Repositories that are to be archived must be cloned into the `repositories` directory while `grs.sh` is not running a cycle. The safest way to do this is by: - 1. Executing `systemctl stop grs.timer` - 2. Executing `watch -c "systemctl status grs.service"` to confirm that `grs.sh` is inactive. - 3. Cloning a git repository into the `repositories` directory. - Example: - 1. `cd repositories` - 2. `git clone --recursive https://git.mgoder.com/mg/GitRepositorySynchronizerV1.git` - 4. Executing `systemctl start grs.timer` - -NOTE: +Git Repository Synchronizer v1 is a system that provides individuals the ability to archive a git repository without having to worry about the archive being sabotaged.\ +\ +GRS creates snapshots when it detects the source repository has been tampered with.\ +\ +Tampering is detected when the source git repository reduces in size by a certain threshold. The threshold can be set by modifying `thresholdFactor` in `grs.sh`. Setting `thresholdFactor=5` would mean that the source git repository would have to drop by 20% for it to be considered as tampering. The way 20% is derived from a `thresholdFactor` of `5` is by dividing `1/thresholdFactor` which in the case of `1/5` would equal `0.2` which is the ratio for 20%.\ +\ +The execution cycle can be set by configuring `timer.service` using systemd conventions. The settings default to executing every ten minutes on the hour.\ +\ +Repositories that are to be archived must be cloned into the `repositories` directory while `grs.sh` is not running a cycle. The safest way to do this is by:\ + 1. Executing `systemctl stop grs.timer`\ + 2. Executing `watch -c "systemctl status grs.service"` to confirm that `grs.sh` is inactive.\ + 3. Cloning a git repository into the `repositories` directory.\ + Example:\ + 1. `cd repositories`\ + 2. `git clone --recursive https://git.mgoder.com/mg/GitRepositorySynchronizerV1.git`\ + 4. Executing `systemctl start grs.timer`\ +\ +NOTE:\ The reasoning behind the usage of "v1" is due to it being possible to develop a better solution using a C++ compiler that reduces the strain on the storage medium and cuts the storage footprint in half by using system memory as a temporary cache to compare the pulled git changes instead of having the previous snapshot always in storage. \ No newline at end of file