"$src/." "$tmpdir_new/."
echo "$0: Done. Committing."
-mv "$tgt" "$tmpdir_old/old"
-if ! mv "$tmpdir_new" "$tgt"; then
+mv --no-target-directory "$tgt" "$tmpdir_old/old"
+if ! mv --no-target-directory "$tmpdir_new" "$tgt"; then
echo >&2 "$0: WARNING: could not move $tmpdir_new to $tgt. Trying to recover"
rm -rf "$tgt"
- mv "$tmpdir_old/old" "$tgt"
+ mv --no-target-directory "$tmpdir_old/old" "$tgt"
echo >&2 "$0: Rolled back to old tree, maybe even successfully."
exit 1
fi