#!/bin/sh
# Ensure that moving hard-linked arguments onto existing destinations works.
+# Likewise when using cp --preserve=link.
if test "$VERBOSE" = yes; then
set -x
mv --version
+ cp --version
fi
. $srcdir/../envvar-check
fail=0
+# ======================================
+cp --preserve=link a b c dst || fail=1
+# The source files must remain.
+test -f a || fail=1
+test -f b || fail=1
+test -f c || fail=1
+cd dst
+
+# Three destination files must exist.
+test -f a || fail=1
+test -f b || fail=1
+test -f c || fail=1
+
+# The three i-node numbers must be the same.
+ia=`ls -i a|sed 's/ a//'`
+ib=`ls -i b|sed 's/ b//'`
+ic=`ls -i c|sed 's/ c//'`
+test $ia = $ib || fail=1
+test $ia = $ic || fail=1
+
+cd ..
+rm -f dst/[abc]
+(cd dst && touch a b c)
+
+# ======================================
mv a b c dst || fail=1
# The source files must be gone.