X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Mon, 17 Jan 2011 14:56:27 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: cygpath unable to translate the *nix path to an NTFS junction point Message-ID: <20110117135627.GC11221@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <1ra7j6h9scktvnlpdceejo3i3q4k4f5c3c AT 4ax DOT com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1ra7j6h9scktvnlpdceejo3i3q4k4f5c3c@4ax.com> User-Agent: Mutt/1.5.21 (2010-09-15) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Jan 17 02:48, Barry Kelly wrote: > Pierce Morton wrote: > > > I've recently installed cygwin using the web installer, and have found > > an error in the way that cygpath translates junction point paths from > > *nix to Windows paths when dealing with a junction point. > > The issue is that Cygwin treats reparse points as symlinks. IMO, the > more normal uses of junctions in the Windows ecosystem is not very close > to the usage of POSIX symlinks, so this behaviour is undesirable. We're trying to emulate POSIX in the first place. The most important point is that POSIX paths work, and in the POSIX sense junction points are either mount points or symlinks. If they point to another drive, they are mount points, if they point to another dsir they are symlinks. Also, if you don't treat juntions to the same drive as symlinks you have the problem that you can easily create loops when you run a recursive file search. > So I wrote this modification to cygwin-1.7.7-1 Please read http://cygwin.com/contrib.html, especially the chapter "Before you get started". For a patch like this we need a signed copyright assignment. However... > to the CYGWIN environment variable, "junctionlinks", which defaults to > true (the current behaviour). By adding "nojunctionlinks" to CYGWIN, > treating junctions as symlinks is disabled. ...we won't take patches which add arbitrary options to the CYGWIN variable which could also be solved in other ways. In this special case, only the conversion from POSIX to Win32 paths is affected. This conversion is only supported by the cygwin_conv_path function and, subsequently, the cygpath utility. Therefore, such a change should be restricted to this API. I'll have a look into adding something along these lines. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- 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