From f07375ea59fb6c4e1658f2fe7e3bd81d2f887e0f Mon Sep 17 00:00:00 2001 From: Mohammed Goder Date: Wed, 13 Mar 2024 11:46:31 -0500 Subject: [PATCH] Update README.md --- README.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index c88964d..98a48cc 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`\ -\ +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 + The reasoning behind the usage of "v1" is due to it being possible to develop a better solution using a C++ compiler. It would use system memory as a temporary cache to compare the pulled git changes instead of having the previous snapshot always in storage. This would reduce the strain on the storage medium and cut the storage footprint in half. \ No newline at end of file