Paul Eggert <[email protected]> wrote: > Even if caname is used only as a magic token to decide whether a file > name refers to a new file, it's still incorrect to rewrite A/B/../C as A/C. > For example: > > mkdir a > echo foo >a/b > echo barx >b > ln -s . a/dot > ls -li a/b a/dot/../b > tar -g x.list -cf x.tar a/b a/dot/../b > > The "ls" outputs this: > > 10783652 -rw-r--r-- 1 eggert stapdev 4 Jul 16 09:18 a/b > 10783653 -rw-r--r-- 1 eggert stapdev 5 Jul 16 09:18 a/dot/../b > > so the two names a/b and a/dot/../b refer to different files. > But with tar 1.23.90, tar incorrectly canonicalizes a/dot/../b > to a/b, and decides that only one of the two files needs to be > archived.
Could you explain why you believe this is relevant? My impression is that an archive from a/b a/dot/../b cannot be restored correctly in case that the symlink dot is missing from the archive or even archived only after the named two files. I am still sure that the decision for star (to require "-C dir .") for a "dump" is a useful decision that helps to prevent archives that cannot be restored. Jörg -- EMail:[email protected] (home) Jörg Schilling D-13353 Berlin [email protected] (uni) [email protected] (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily
