diff options
Diffstat (limited to 'share/hydractl')
-rwxr-xr-x | share/hydractl/sync-media | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/share/hydractl/sync-media b/share/hydractl/sync-media index 09f7239..6486198 100755 --- a/share/hydractl/sync-media +++ b/share/hydractl/sync-media @@ -9,6 +9,7 @@ hydra_config_load # Parameters REMOTE="$1" +REPOSITORY="$2" VOLUME="/media/$REMOTE" DOMAIN="`facter domain`" HOST="`facter hostname`" @@ -182,8 +183,15 @@ $sudo chown $WHOAMI. $CACHE $sudo chown $WHOAMI. $CACHE/* sync_media_incoming_perms +# Check if a specific repository was passed via the command line +if [ -z "$REPOSITORY" ] && [ -d "$CACHE/$REPOSITORY" ] && ! echo "$REPOSITORY" | grep -q '--'; then + REPOSITORIES="$REPOSITORY" +else + REPOSITORIES="`ls $CACHE`" +fi + # Iterate over existing repositories in the local cache -for folder in `ls $CACHE`; do +for folder in $REPOSITORIES; do # Sync each repository in the local cache if [ -d "$CACHE/$folder/.git/annex" ]; then if [ "`git -C $CACHE/$folder config sync-media.skip`" == "true" ]; then @@ -237,8 +245,15 @@ done # Process removable or remote media if [ ! -z "$DRIVE" ] && [ -d "$VOLUME/$MEDIA" ]; then + # Check if a specific repository was passed via the command line + if [ -z "$REPOSITORY" ] && [ -d "$VOLUME/$MEDIA/$REPOSITORY" ] && ! echo "$REPOSITORY" | grep -q '--'; then + REPOSITORIES="$REPOSITORY" + else + REPOSITORIES="`ls $VOLUME/$MEDIA`" + fi + # Iterate over existing repositories in the removable media - for folder in `ls $VOLUME/$MEDIA`; do + for folder in $REPOSITORIES; do # Sync each local repository in the removable media if [ -d "$VOLUME/$MEDIA/$folder/.git/annex" ]; then |