Re: First cut at git port to Cygwin
- From
- Christopher Faylor <me@cgf.cx>
- Date
- Oct 5, 2005, 16:15 UTC
- Message-ID
- <20051005161546.GB30303@trixie.casa.cgf.cx>
- In-Reply-To
- <Pine.LNX.4.63.0510050902430.28854@localhost.localdomain>
On Wed, Oct 05, 2005 at 09:09:49AM -0700, Davide Libenzi wrote:
Show 12 quoted lines
>On 10/5/05, Alex Riesen <raa.lkml@gmail.com> wrote: >>Still does not work for me. I cannot isolate the problem out of git, >>but at the moment the only way for me to make commit_index_file to work >>is to put unlink(indexfile) before rename(cf->lockfile, indexfile). > >I don't know how Cygwin implemented rename(), but if they used >MoveFile() they broke the POSIX rename() since MoveFile() fails if >destination already exists. They should have used >MoveFileEx(MOVEFILE_REPLACE_EXISTING) instead, to guarantee POSIX >semantics. The symptoms you're experiencing make me think this might >be the case (even if it is strange, since other Unix software would >fail the same way).
Cygwin's rename is much more than just a simple wrapper around MoveFile or MoveFileEx. It tries hard to guarantee POSIX semantics within the strictures imposed by Windows. -- Christopher Faylor spammer? -> aaaspam@sourceware.org Cygwin Co-Project Leader aaaspam@duffek.com TimeSys, Inc.