rdiff: fix confusing error if rdiff-backup cannot be found on remote server.
authorintrigeri <intrigeri@boum.org>
Sat, 9 Jan 2010 22:25:03 +0000 (23:25 +0100)
committerintrigeri <intrigeri@boum.org>
Sat, 9 Jan 2010 22:25:03 +0000 (23:25 +0100)
Thanks to maniacmartin <martin@maniacmartin.com> for the patch on which this one
is based.
This closes Redmine bug #1209.

AUTHORS
ChangeLog
handlers/rdiff.in

diff --git a/AUTHORS b/AUTHORS
index c8686eb00f333e0fbc74bbf1bb357a026b839ab7..07d55c0a3ee6cb8c32976332ffd71ec15aac3895 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -32,3 +32,4 @@ Tuomas Jormola <tj@solitudo.net> -- "when = manual" option
 Ian Beckwith <ianb@erislabs.net> -- dup bandwidthlimit fix
 Olivier Berger <oberger@ouvaton.org> -- dup debug output bugfix, reportinfo option
 stefan <s.freudenberg@jpberlin.de> -- dup support for Amazon S3 buckets
+maniacmartin <martin@maniacmartin.com> -- rdiff confusing error message fix
index f4009d729f8da2b02035399d6de255f24f8a8378..b1e140b72e9463d947ebea67f7d61cf1872db626 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -45,6 +45,7 @@ version 0.9.7 -- UNRELEASED
           reported as such.
        rdiff:
         . Fix include/exclude paths with spaces (Closes: #398435)
+        . Fix confusing error if rdiff-backup cannot be found on remote server.
        sys:
         . New luksheaders option (default=disabled) to backup the Luks header
           of every Luks device.
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.
+   local version
    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'"
-      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
 }