Vladimir G. Ivanovic wrote:
This puzzles me:
$ ls -lA tmp/junk/DistJava ls: tmp/junk/DistJava: No such file or directory $ find DistJava -depth -print0 | cpio --null -pdm tmp/jumk
Probably because in first command you look for 'junk' directory and in the second for 'jumk'.
cpio: tmp/jumk/DistJava/CVS/Root not created: newer or same age version exists cpio: tmp/jumk/DistJava/CVS/Repository not created: newer or same age version exists cpio: tmp/jumk/DistJava/CVS/Entries not created: newer or same age version exists cpio: tmp/jumk/DistJava/CVS/Entries.Static not created: newer or same age version exists cpio: tmp/jumk/DistJava/CORBA/JacORB Report.ps not created: newer or same age version exists cpio: tmp/jumk/DistJava/CORBA/JacORB.pdf not created: newer or same age version exists [...]
Probably because in first command you look for 'junk' directory and in the second for 'jumk'.
What is going on here? "ls -lA" tells me the target directory is doesn't even exist, but cpio complains that it (and previously copied files) exist. After the command completes, tmp/junk/DistJava exists (but I didn't think to check if it had anything in it.)
I got to this, for me, strange state because I've been fooling around timing tar, cpio and cp (DistJava is just some directory):
"cp -a" is fastest (no surprise here), so I went to check and see if they do the same thing wrt symbolic links. So I re-ran the tests, but after a run, I renamed the target directory
mv tmp/junk/DistJava tmp/junk/DistJava0
I did something similar, but ending up with DistJava1 instead. Then I removed (rm -rf) both DistJava0 and DistJava1 and ran the cpio-based copy above. It's then that I got the unexpected "already exists" error.
Here's another curiosity:
$ ls -lA tmp/jumk/ total 4 drwxrwxr-x 19 vladimir vladimir 4096 Aug 9 2002 DistJava/ $ rm -rf tmp/jumk/DistJava $ find DistJava -depth -print0 | cpio --null -pdm tmp/jumk 252322 blocks $ ls -lA tmp/jumk/ total 4 drwxrwxr-x 19 vladimir vladimir 4096 Aug 9 2002 DistJava/ $ mv tmp/jumk/DistJava tmp/jumk/DistJava0 $ find DistJava -depth -print0 | cpio --null -pdm tmp/jumk 252322 blocks $ mv tmp/jumk/DistJava tmp/jumk/DistJava1 $ ls -lA tmp/junk total 0
All the directories in "tmp/junk" disappear; I expected to find DistJava0 and DistJava1.
Is there some arcane corner of Unix that I've been in ignorance of all these years, or is this a bug?
(BTW, tmp/junk is a single EXT3 file system on an IDE drive.)
Thanks.
--- Vladimir
------------------------------------------------------------------------ Vladimir G. Ivanovic http://leonora.org/~vladimir 2770 Cowper St. vladimir@xxxxxxx Palo Alto, CA 94306-2447 +1 650 678 8014
-- Shrike-list mailing list Shrike-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/shrike-list