diff options
Diffstat (limited to 'files/sync-media-init')
-rwxr-xr-x | files/sync-media-init | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/files/sync-media-init b/files/sync-media-init deleted file mode 100755 index 839deea..0000000 --- a/files/sync-media-init +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -# -# Add git-annex remotes to repository in removable media or local cache. -# - -# Parameters -BASENAME="`basename $0`" -VOLUME="$1" -TYPES="$2" -DOMAIN="`facter DOMAIN`" -HOST="`facter hostname`" -CACHES="" -VOLUMES="" -BOXES="" - -# Fix identity -function sync_media_identity { - if [ -z "`git config --local user.email`" ] || [ -z "`git config --local user.name`" ]; then - repo="$(basename `pwd`)" - git config user.name "${repo^} Archive" - git config user.email "$repo@localhost" - fi -} - -# Syntax check -if [ -z "$VOLUME" ]; then - echo "usage: $BASENAME <volume> [<caches|volumes|boxes> [remotes]]" - exit 1 -fi - -# Determine media folder -if [ "$VOLUME" == "$HOST" ] || [ "$VOLUME" == "localhost" ]; then - MEDIA="/var/cache/media" -else - MEDIA="/media/$VOLUME/media.$DOMAIN" -fi - -# Determine remote type -shift 2 -if [ "$TYPES" == 'caches' ]; then - # Remotes are caches of local boxes - CACHES="$*" -elif [ "$TYPES" == 'volumes' ]; then - # Remotes are removable media - VOLUMES="$*" -elif [ "$TYPES" == 'boxes' ]; then - # Remotes are remote boxes - BOXES="$*" -fi - -# Process each repository -for file in `ls $MEDIA`; do - if [ -d "$MEDIA/$file/.git" ]; then - ( - echo Processing "$MEDIA/$file..." - cd $MEDIA/$file - sync_media_identity - - if git remote | 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 $CACHES; do - echo "Adding /var/cache/$remote/media/$file remote..." - git remote add $remote /var/cache/$remote/media/$file - done - - for remote in $VOLUMES; do - echo "Adding /media/$remote/media.$DOMAIN/$file..." - git remote add $remote /media/$remote/media.$DOMAIN/$file - done - - for remote in $BOXES; do - if ! echo $remote | grep -q '\.'; then - host="$remote.$DOMAIN" - else - host="$remote" - fi - - echo "Adding ssh://$host/var/cache/media/$file..." - git remote add $remote ssh://$host/var/cache/media/$file - done - - echo "" - ) - fi -done |