diff options
Diffstat (limited to 'share/hydractl/sync-media')
| -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 | 
