[BUG] Patch.exe problem report
Larry Hall (RFK Partners, Inc)
lhall@rfk.com
Thu Feb 14 06:33:00 GMT 2002
At 07:46 AM 2/14/2002, Pierre Muller wrote:
>I already mentioned the following bug some time ago,
>but I now took the time to identify the problem.
>
>
> The problem appears if you are using patch to
>apply a patch on a binary mounted device
>while your patch uses a temporary directory that is located on
>a text mounted dir.
>
>The temprary file is that created as
>/temp/dir/ poXXXXX
>where the XXX are replaced by a number.
>But the file is opened without O_BINARY flag.
>
>After the patch is applied, the patch code tries to move the file,
>which fails with EXDEV err, which seems OK as they are on different partition,
>but after that the use copy_file function,
>which does copy the file using O_BINARY file.
>
> This results in a unix mode source file on which you apply
>a unix mode patch, will be written as text in the temporary directory, and thus
>in Dos mode with CR/LF, and finally copied back to the binary mounted
>dir.
>
> I hope that my explanation of the problem is clear enough.
>
>It seems to be a consequence of the apparently innocent assumption
>that on a given OS, a copy of a text file from one dir to another dir can be done
>using O_BINARY. But this assumption is false for cygwin.
>
>I didn't really find a good solution to this problem yet...
Actually, this has been discussed before in the context of /cygdrive, which
by default (along with network/UNC paths) is text mode. The /cygdrive issue
can be resolved by remounting it as binary (i.e. "mount -b -f -c /cygdrive").
Network paths can be handled similarly, by mounting them explicitly.
Sorry. There's no transparent option that works to everyone's liking.
Everyone say "Thank you, Bill".
Larry Hall lhall@rfk.com
RFK Partners, Inc. http://www.rfk.com
838 Washington Street (508) 893-9779 - RFK Office
Holliston, MA 01746 (508) 893-9889 - FAX
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list