#!/bin/bash

if [ $# != 3 ]; then
	echo "Usage: $0 host1 host2 basedir" >&2
	exit 1
fi

left="$1"
right="$2"
basedir="$3"

diff -u \
	<( ssh $left "csync2 -or $basedir | sort | xargs md5sum 2> /dev/null" ) \
	<( ssh $right "csync2 -or $basedir | sort | xargs md5sum 2> /dev/null" ) | \
awk '

/^-[a-z0-9]/  { sub(/^./, ""); all[$2] = 1; left[$2]  = $1; }
/^\+[a-z0-9]/ { sub(/^./, ""); all[$2] = 1; right[$2] = $1; }

END {
	for (filename in all) {
		printf "%s %s %s\n",
			(left[filename]  == "" ? "-" : "X"),
			(right[filename] == "" ? "-" : "X"),
			filename;
	}
}

'

