delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2011/01/17/08:56:48

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 <corinna-cygwin AT cygwin DOT com>
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: <AANLkTik5e=pvzaqW+Rxq33NQu1AyaAq3uLmZD3Cb8s5N AT mail DOT gmail DOT com> <1ra7j6h9scktvnlpdceejo3i3q4k4f5c3c AT 4ax DOT com>
MIME-Version: 1.0
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
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT 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

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

- Raw text -


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