# HG changeset patch # User František Kučera # Date 1555876190 -7200 # Node ID a0b7d78460c297817ec0353c8af67cd41b31dfc3 # Parent 7bdf24cc2e9e85663a15f2f8a0ac6e6dbfeeb810 documentation diff -r 7bdf24cc2e9e -r a0b7d78460c2 vcs-backup.sh --- a/vcs-backup.sh Sun Apr 21 21:49:35 2019 +0200 +++ b/vcs-backup.sh Sun Apr 21 21:49:50 2019 +0200 @@ -17,6 +17,21 @@ # along with this program. If not, see . +# VCS Backup is a configuration for setting up a version control system mirrors. +# Currently Mercurial (Hg) and Git are supported. +# Features: +# - mirrors remote repositories +# - creates Btrfs subvolume for each repository +# - does periodic pull to keep mirrors up to date +# - does periodic Btrfs snapshot to keep history (git push --force done on the remote repository will lead to modifications or deletions in our current mirror, but previous versions will be kept in the snapshots) +# - provides web interface for remote clonning of our mirrors (see systemd and etc folders) +# - can be controlled over SSH by a sane person / owner of the system +# - provides reports in the recfile format (to be processed using GNU Recutils or Relational pipes): +# - list of repositories/mirrors +# - results of pull operations + + +# This is an asynchronous message-driven shell script that runs distributed across two machines and four user accounts. You have been warned :-) # Server-side configuration: VCS_BACKUP_DATA_DIR="/mnt/data"; VCS_BACKUP_CURRENT_DIR="$VCS_BACKUP_DATA_DIR/current";