delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2015/03/18/10:34:23

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:content-type:mime-version:subject:from
:in-reply-to:date:content-transfer-encoding:message-id
:references:to; q=dns; s=default; b=AieNbWyI07N/HaKhlm1yvRdMNIxi
wO8LpaLClA6yfyIEOHXJVoPdO84wTGKQ7Y9r40/DINio1bB9QXCCtYXbKvTi8nIL
QbMR+LnwXeCyGLKQ1DixWtoOTkdrjMhKQmi4sVZSL8FB/Yc3kdvAOmDhAHDnZHdL
FCBhlWckM9fsVQs=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:content-type:mime-version:subject:from
:in-reply-to:date:content-transfer-encoding:message-id
:references:to; s=default; bh=dnP0gX0xG94Wkg9YbFPSRysGR48=; b=cH
l4PmXNSIZqUgjn/NSD5gLiT9u6featpcU8dNZ1uqU24JJZ6W/2qJffB5f8zHxztF
5hbibRKUBh1CVkTrEZRfHu86266y9Mz3PR6FaKuQ77O7Te9HEFv7QNhlLUR4x7sH
OZY5PJlyByYu8W47fwnNoNUQjZuv3AMztYp8M13oU=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2
X-HELO: etr-usa.com
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\))
Subject: Re: git fails to push
From: Warren Young <wyml AT etr-usa DOT com>
In-Reply-To: <5508284B.1040304@lysator.liu.se>
Date: Wed, 18 Mar 2015 08:33:51 -0600
Message-Id: <A4547C34-7174-4F7E-A307-DA23F9768892@etr-usa.com>
References: <5502264B DOT 3050803 AT lysator DOT liu DOT se> <C31449BA-B14C-4047-981B-6980AB755309 AT etr-usa DOT com> <5508284B DOT 1040304 AT lysator DOT liu DOT se>
To: The Cygwin Mailing List <cygwin AT cygwin DOT com>
X-IsSubscribed: yes
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id t2IEYJae004486

On Mar 17, 2015, at 7:12 AM, Peter Rosin <peda AT lysator DOT liu DOT se> wrote:
> 
> On 2015-03-16 22:45, Warren Young wrote:
> 
>> I think if you set Git up on the server using one of the supported server protocols [*] your problem will go away.
> 
> You almost make it sound like file:// isn't a supported server protocol.
> Isn't it? If not, why is it listed under "Git on the Server" and why
> is NFS mounts mentioned?

Are you trying to argue that all four options given on that page are equally good, or that the page is comprehensive in its assessment of pros and cons?  They aren’t, and it isn’t.

Do you believe the one who wrote it thought once about Cygwin while writing it? I don’t.  I don’t even see much evidence that the author was thinking about Windows at all.

As for defending the use of CIFS by mentioning NFS, they’re very different beasts.  NFS is actually worse, in that rpc.lockd is entirely optional.  Yet, there it is, a “recommended” option in that chapter.  What does that say about how much we should trust the information presented?

Meanwhile, locking in CIFS tends to swing the other way entirely: a single program that merely opens a file in certain naive ways creates a whole-file lock on it that even prevents read-only access, which annoys programs that assume POSIX file locking semantics.

> I don't think the real
> problem is in the git code base. It feels more like some generic file
> access race that manifests itself as freshly created files not being
> found, or something like that.

I think you’re not far off in that assessment.  What I think you’ve missed is that POSIX and Windows file locking semantics are almost diametrically opposed in their approach, and that programs that come from the POSIX world often get badly tripped up when you run them on Windows.

By putting the file I/O code entirely on the Git server, you decouple the two systems’ file locking, so that they no longer have to cooperate.
--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019