#!/bin/bash # # Add git-annex remotes to repository in removable media or local cache. # # Parameters BASENAME="`basename $0`" VOLUME="$1" DOMAIN="`facter DOMAIN`" HOST="`facter hostname`" #LOCAL_BOXES="" #LOCAL_VOLUMES="" #REMOTE_BOXES="" # Syntax check if [ -z "$VOLUME" ]; then echo "usage: $BASENAME " exit 1 fi # Determine media folder if [ "$VOLUME" == "$HOST" ]; then MEDIA="/var/cache/media" else MEDIA="/media/$VOLUME/media.$DOMAIN" fi # Process each repository for file in `ls $MEDIA`; do if [ -d "$MEDIA/$file/.git" ]; then ( echo Processing "$MEDIA/$file..." cd $MEDIA/$file if git remotes | grep -q "^origin$"; then echo "Removing origin..." git remote rm origin fi if [ ! -d "$MEDIA/$file/.git/annex" ]; then git annex init $VOLUME fi for remote in $LOCAL_BOXES; do echo "Adding /var/cache/$remote/media/$file remote..." git remote add $remote /var/cache/$remote/media/$file done for remote in $LOCAL_VOLUMES; do echo "Adding /media/$remote/media.$DOMAIN/$file..." git remote add $remote /media/$remote/media.$DOMAIN/$file done for remote in $REMOTE_BOXES; do echo "Adding /var/cache/$remote/media/$file remote..." git remote add $remote ssh://$remote/var/cache/media/$file done echo "" ) fi done