vcs-backup.sh
branchv_0
changeset 13 a0b7d78460c2
parent 12 7bdf24cc2e9e
child 14 1e1ba6753d92
     1.1 --- a/vcs-backup.sh	Sun Apr 21 21:49:35 2019 +0200
     1.2 +++ b/vcs-backup.sh	Sun Apr 21 21:49:50 2019 +0200
     1.3 @@ -17,6 +17,21 @@
     1.4  # along with this program. If not, see <http://www.gnu.org/licenses/>.
     1.5  
     1.6  
     1.7 +# VCS Backup is a configuration for setting up a version control system mirrors.
     1.8 +# Currently Mercurial (Hg) and Git are supported.
     1.9 +# Features:
    1.10 +#  - mirrors remote repositories
    1.11 +#  - creates Btrfs subvolume for each repository
    1.12 +#  - does periodic pull to keep mirrors up to date
    1.13 +#  - 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)
    1.14 +#  - provides web interface for remote clonning of our mirrors (see systemd and etc folders)
    1.15 +#  - can be controlled over SSH by a sane person / owner of the system
    1.16 +#  - provides reports in the recfile format (to be processed using GNU Recutils or Relational pipes):
    1.17 +#     - list of repositories/mirrors
    1.18 +#     - results of pull operations
    1.19 +
    1.20 +
    1.21 +# This is an asynchronous message-driven shell script that runs distributed across two machines and four user accounts. You have been warned :-)
    1.22  # Server-side configuration:
    1.23  VCS_BACKUP_DATA_DIR="/mnt/data";
    1.24  VCS_BACKUP_CURRENT_DIR="$VCS_BACKUP_DATA_DIR/current";