# reposync Scripts for juggling git repos ## gitwrapper.sh gitwrapper.sh automatically creates repositories if they are pushed for the first time. If a non-existent repo is pulled, an empty one is sent instead. This feature requires an empty git repo called "empty.git" in the home of the git user. This allows for easy creation of new repos by just cloning any name, creating a first commit, and then pushing.git@git:jonas/toybox.git `gitwrapper.sh OPTIONS` is set as a command in `.ssh/authorized_keys` #### Options gitwrapper.sh OPTIONS -r Allow pull from DIR -w Allow push to DIR -a Allow push/pull from/to DIR -i Allow inetractive Login ## reposync.sh This script handles synchronisation to GitHub via the GitHub API and SSH, so it needs a valid API key and an authorized SSH key. `~/settings.sh` provides `$USERNAME`, `$TOKEN` and `$REPO_DIR`. If a repo only exists locally, it is created via the API, then pushed. All repos present on both sides are pushed. All remote-only repos are cloned. The last behaviour is only intended for migrating, not for usage. Repos are only pushed, never fetched so GitHub acts as a mirror and thus should be treated as read-only. ## License MIT