#!/usr/bin/env bash # Test that src and dest trees are as identical as bup is capable of # making them. For now, use rsync -niaHAX ... set -e set -o pipefail usage() { cat <&2; exit 1;; esac done shift $(($OPTIND - 1)) if ! test $# -eq 2 then usage 1>&2 exit 1 fi src="$1" dest="$2" tmpfile="$(mktemp /tmp/bup-test-XXXXXXX)" trap "rm -rf '${tmpfile}'" EXIT rsync_opts="-niaH$verify_content --delete" if rsync --version | grep -q xattrs; then case $OSTYPE in cygwin|darwin) # bup doesn't support ACLs here yet. rsync_opts="$rsync_opts -X" ;; *) rsync_opts="$rsync_opts -AX" ;; esac else echo "Not comparing xattrs/acls (unsupported by available rsync)." 1>&2 fi rsync $rsync_opts "$src" "$dest" > "${tmpfile}" if test $(wc -l < "${tmpfile}") != 0; then echo "Differences between $src and $dest" cat "${tmpfile}" exit 1 fi exit 0