aboutsummaryrefslogtreecommitdiff
path: root/files/sync-media-init
diff options
context:
space:
mode:
Diffstat (limited to 'files/sync-media-init')
-rwxr-xr-xfiles/sync-media-init92
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