Subject: Coreutils' mv and cp 9.5 do not work properly on old PPC Mac OS X 10.4.11, Tiger

From: Peter Dyballa <[email-masked]>
Date: Tue, 20 May 2025 18:12:19 +0200

Hello!

Working on a problem with diffutils 3.12 on the same platform (bug#77840) I see in the log file of the basic diffutils tests (with vi, because GNU Emacs has a problem with millions of NUL characters):

   126 + mv k out
   127 mv: cannot stat 'out/k': Not a directory

It comes from this test in diffutils-3.12/tests/basic:

     33 echo a > a
     34 echo b > b
     35 for opt in '' -u -c; do
     36   returns_ 1 diff $opt a b > out 2> err || fail=1
     37   # Remove date and time.
     38   sed -e 's/^\([-+*][-+*][-+*] [^       ]*\)    .*/\1/' out > k; mv k out
     39   compare exp-$(echo $opt|tr ' ' _) out || fail=1
     40 done

Similarly on the command line (tcsh) this irregular behaviour can be observed:

	pete 264 /\ gtouch a b
	pete 265 /\ cp -v a b
	a -> b
	pete 266 /\ env LANG=C gcp -v a b
	gcp: cannot stat 'b/a': Not a directory
	Exit 1
	pete 267 /\ gcp -v a ./c
	'a' -> './c'
	pete 268 /\ mv -v a b
	a -> b
	pete 269 /\ env LANG=C gmv -v b c
	gmv: cannot stat 'c/b': Not a directory
	Exit 1
	pete 270 /\ env LANG=C gmv -v b ./c
	gmv: cannot stat './c/b': Not a directory
	Exit 1
	pete 271 /\ env LANG=C gls -l a b c
	gls: cannot access 'a': No such file or directory
	-rw-r--r-- 1 pete wheel 0 May 20 17:47 b
	-rw-r--r-- 1 pete wheel 0 May 20 17:47 c
	Exit 2
	pete 272 /\ 

--
Greetings

  Pete

Theory and practice are the same, in theory, but, in practice, they are different.