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

Reply via email to