This is the mail archive of the
mailing list for the Cygwin project.
Re: untarring symlinks with ../ fails randomly
On Tue, Apr 26, 2011 at 03:08:52PM +0000, Dan Grayson wrote:
>(Re-posting yet again, didn't get through yesterday or today (?), this time
>from a different account.)
>Debugging with gdb shows that "tar" is prepared for the possibility that
>symbolic links don't work and that hard links will have to be used instead.
>So, when it encounters a symbolic link, it creates a zero-length file with mode
>0 as a placeholder, and it records the inode number of the new file. That way
>it can wait until all the regular files have been created, and then replace the
>placeholder by a symbolic link, or if that doesn't work, by a hard link to the
>existing file. However, a tar file can contain multiple entries corresponding
>to the same file name or path, so it may happen that the placeholder is no
>longer present at the end, having been replaced by another file. Hence, it
>will only replace the placeholder if the inode number and the creation time are
>unchanged. But, under cygwin, the creation time may change gratuitously after
>the creation of the file, at random!
Cygwin doesn't change the creation time gratuitously. Sounds like BLODA to me.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple