From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3725 invoked by alias); 14 May 2013 15:31:21 -0000 Mailing-List: contact cygwin-developers-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner@cygwin.com Mail-Followup-To: cygwin-developers@cygwin.com Received: (qmail 3714 invoked by uid 89); 14 May 2013 15:31:21 -0000 X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,RCVD_IN_HOSTKARMA_YE,RCVD_IN_SEMBACKSCATTER autolearn=no version=3.3.1 Received: from mho-03-ewr.mailhop.org (HELO mho-01-ewr.mailhop.org) (204.13.248.66) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Tue, 14 May 2013 15:31:20 +0000 Received: from pool-98-110-186-170.bstnma.fios.verizon.net ([98.110.186.170] helo=cgf.cx) by mho-01-ewr.mailhop.org with esmtpa (Exim 4.72) (envelope-from ) id 1UcHCB-0006fo-3u for cygwin-developers@cygwin.com; Tue, 14 May 2013 15:31:19 +0000 Received: from localhost (ednor.casa.cgf.cx [192.168.187.5]) by cgf.cx (Postfix) with ESMTP id 8EAAB60121 for ; Tue, 14 May 2013 11:31:18 -0400 (EDT) X-Mail-Handler: Dyn Standard SMTP by Dyn X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX19fDfxex9uVXaPuzHtA5gNJ Date: Tue, 14 May 2013 15:31:00 -0000 From: Christopher Faylor To: cygwin-developers@cygwin.com Subject: Re: native symlink support should fallback to default format if target missing Message-ID: <20130514153118.GB3425@ednor.casa.cgf.cx> Reply-To: cygwin-developers@cygwin.com Mail-Followup-To: cygwin-developers@cygwin.com References: <9FCBD602-2D9C-4069-AA5F-682C32DE6D32@mac.com> <517F13D1.8040105@cwilson.fastmail.fm> <56151889-406D-4648-BFC9-BEE3AE70D56E@mac.com> <20130513150046.GB20319@calimero.vinschen.de> <519105F5.2080101@openafs.org> <20130513154007.GE8890@calimero.vinschen.de> <20130513185937.GA1601@ednor.casa.cgf.cx> <4A874440-F98D-4CC2-B6BB-F8D04CF99266@mac.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A874440-F98D-4CC2-B6BB-F8D04CF99266@mac.com> User-Agent: Mutt/1.5.20 (2009-06-14) X-SW-Source: 2013-05/txt/msg00015.txt.bz2 On Tue, May 14, 2013 at 08:52:09AM -0600, James Gregurich wrote: > >>> >> >> I agree with Chris on this. Instead of a fallback behavior it should >> be an EACCES, EINVAL or EXDEV error. >> >> -- >> Earnie >> -- https://sites.google.com/site/earnieboyd > >This may sound rational from a theoretical perspective, but for >practical use of the system, it is not good. Consider the case when >one clones a git repository. The link will often be created before the >target file exists. If the system fails with an error, then you won't >be able to use your git working tree as the checkout won't be >successful. > >Output a warning if you like, but the call to make the link needs to >succeed so that unix software works correctly. Having Cygwin issue warnings when it can't perform a low-level operation is not a path we want to take. >Outputting a broken link would be more confusing for a user than >outputting a default form symlink. An experienced user of windows and >Cygwin will typically have the sophistication to know how to recognize >the cygwin symlink file in the file system. After all. The system has >already been doing this behavior for years and people have seen it. >Also, the system is not on by default. People who enable native >symlink support can be expected to have the sophistication to >understand the details of using it. You really can't argue "sophistication". That is supposition on your part. This kind of argument is easily counterable by my strongly asserting that Cygwin users are not sophisticated and don't really understand how things work under the hood. I could assert that someone could set the environment variable because they misread the documentation and then could become confused when it doesn't do what it apparently says it should: "I told Cygwin to use windows symlinks and it didn't! WTH!!!!!" You might disagree with me but each point is valid. Also, having a git repository which is part cygwin symlinks and part windows symlinks and which fails strangely when a native windows git is used doesn't sound like a great idea to me. If you want to argue that users are sophisticated then why aren't they sophisticated enough to understand the issue and deal with the consequences?