improved comparator
[feisty_meow.git] / scripts / files / compare_dirs.sh
index cb538205eed70edc33038525ea5fd26a02c0e3de..65c4f63208412d179d8eeeec021b2561c74f69ec 100644 (file)
@@ -20,56 +20,62 @@ if [ "$dir1" == "$dir2" ]; then
   exit 1
 fi
 
+source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
+
 out1="$(mktemp "$TMP/compare_dirs_output.XXXXXX")"
 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
+  exit_on_error "compare_dirs: seeking directory $dir1"
   find . >"$out1"
   popd &>/dev/null
 else
   # remote compare location for first dir.
   ssh "$host1" "cd \"$dir1\" && find ." >"$out1"
+  exit_on_error "compare_dirs: listing remote directory $dir1"
 fi
-# sort the output from that find.
+
+# sort the output from listing the first directory.
 sort "$out1" >"$out1".sort
 
 if [ -z "$host2" ]; then
   # fully local compare location for second dir.
   pushd "$dir2" &>/dev/null
+  exit_on_error "compare_dirs: seeking directory $dir2"
   find . >"$out2"
   popd &>/dev/null
 else
   # remote compare location for second dir.
   ssh "$host2" "cd \"$dir2\" && find ." >"$out2"
+  exit_on_error "compare_dirs: listing remote directory $dir2"
 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