#!/bin/sh onlystatic="" if [ $# -gt 1 ]; then onlystatic=yes fi set -e for repo in ~/.ctt \ ~/bin \ ~/vcs/notes \ ~/vcs/nico-dot-cdist \ ~/vcs/cdist-workdir/dot-cdist \ ~/.password-store \ ; do echo $repo cd $repo case $repo in ~/.password-store) git checkout master git add . git commit -m "updated by $0" || true git pull git checkout nico-privat ;; ~/vcs/cdist-workdir) mr update ;; esac git add . git commit -m "updated by $0 on $(hostname)" || true git pull git push done # Step 2: pull/push all other repos in ~/vcs/ # We cannot commit as we do not know the state, but we # can ensure everything committed before is pushed out if [ $onlystatic ]; then exit 0 fi set +e for repo in ~/vcs/*; do echo "$repo" cd ${repo} git pull git push done