out2="$(mktemp "$TMP/compare_dirs_output.XXXXXX")"
+#hmmm: need error checking in here!!!!
-#hmmm: need error checking here!!!!
-
-
-
-
-
+# host processing on first dir.
if [[ $dir1 == *":"* ]]; then
- # host processing on first dir.
host1=${dir1%:*}
dir1=${dir1#*:}
-echo "got host1 as $host1"
-echo "got new dir1 as $dir1"
+#echo "got host1 as $host1 and new dir1 as $dir1"
fi
+
+# host processing on second dir.
if [[ $dir2 == *":"* ]]; then
- # host processing on second dir.
host2=${dir2%:*}
dir2=${dir2#*:}
-echo "got host2 as $host2"
-echo "got new dir2 as $dir2"
+#echo "got host2 as $host2 and new dir2 as $dir2"
fi
+
if [ -z "$host1" ]; then
# fully local compare location for first dir.
pushd "$dir1" &>/dev/null
# remote compare location for first dir.
ssh "$host1" "cd \"$dir1\" && find ." >"$out1"
fi
-# sort the output from that find.
+
+# sort the output from listing the first directory.
sort "$out1" >"$out1".sort
if [ -z "$host2" ]; then
# remote compare location for second dir.
ssh "$host2" "cd \"$dir2\" && find ." >"$out2"
fi
+
+# sort the output from listing the second directory.
sort "$out2" >"$out2".sort
+# compare the two sorted output files to show the missing files on each side.
diff "$out1".sort "$out2".sort
+# clean up our output files.
rm "$out1" "$out1".sort "$out2" "$out2".sort