Git repo backup/versioning solution.
An umbrella protects you when the cloud falls into raindrops.
Umbrella creates local backups for all the Git repos you cares about. An ex-employee deletes all the branches? Service providers go down? Repositories being taken down by DMCA? Umbrella gets you covered.
Requirements
- Windows or *nix operating system
git
andgit-lfs
installed- Python 3.8 or later
Usage
Back up a single repo:
python3 setup.py install
umbrella https://github.com/Jamesits/umbrella /tmp/umbrella
Back up a batch of repos:
- Create a config file: config.yaml
umbrella --config config.yaml
Known Issues
- Integrated auth doesn't work for git (but works for providers), please log in yourself on the backup computer
- Restore is not done yet; you might need to manually restore for now (
git clone path/to/your/backup/git
) - Git will pause to ask for username/password or SSH host key trust
Incremental Backups
Umbrella does not offer any form of incremental backup because I don't want to rebuild square wheels. You can use the functionalities provided by your filesystem (e.g. ZFS or Btrfs) or 3rd party backup solutions (e.g. Borg or Duplicati) to do this.
Development Notes
pipenv shell
python3 -m umbrella
from https://github.com/Jamesits/umbrella
No comments:
Post a Comment