rdiff: fix confusing error if rdiff-backup cannot be found on remote server.
[matthijs/upstream/backupninja.git] / handlers / rdiff.in
index 98a53a3235c489ee392076429191e06a6c8353fc..60386fac09987446c74d065c8de2cb5fec3053d4 100644 (file)
@@ -31,6 +31,7 @@ function get_version() {
    # given no arguments, returns the local version.
    # given a user and host, returns the remote version.
    # if user or host is missing, returns the local version.
    # given no arguments, returns the local version.
    # given a user and host, returns the remote version.
    # if user or host is missing, returns the local version.
+   local version
    if [ "$#" -lt 2 ]; then
       debug "$RDIFFBACKUP -V"
       echo `$RDIFFBACKUP -V`
    if [ "$#" -lt 2 ]; then
       debug "$RDIFFBACKUP -V"
       echo `$RDIFFBACKUP -V`
@@ -38,7 +39,12 @@ function get_version() {
       local user=$1
       local host=$2
       debug "ssh $sshoptions $host -l $user '$RDIFFBACKUP -V'"
       local user=$1
       local host=$2
       debug "ssh $sshoptions $host -l $user '$RDIFFBACKUP -V'"
-      echo `ssh $sshoptions $host -l $user "$RDIFFBACKUP -V | grep rdiff-backup"`
+      version=`ssh $sshoptions $host -l $user "$RDIFFBACKUP -V"`
+      if [ $? = 127 ]; then
+         fatal "Unable to execute rdiff-backup on remote server. It probably isn't installed"
+      else
+         echo "$version" | grep rdiff-backup
+      fi
    fi
 }
 
    fi
 }