This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]