public inbox for cygwin-developers@cygwin.com
 help / color / mirror / Atom feed
From: Christopher Faylor <cgf-use-the-mailinglist-please@cygwin.com>
To: cygwin-developers@cygwin.com
Subject: Re: native symlink support should fallback to default format if target missing
Date: Mon, 13 May 2013 18:59:00 -0000	[thread overview]
Message-ID: <20130513185937.GA1601@ednor.casa.cgf.cx> (raw)
In-Reply-To: <20130513154007.GE8890@calimero.vinschen.de>

On Mon, May 13, 2013 at 05:40:07PM +0200, Corinna Vinschen wrote:
>On May 13 11:25, Jeffrey Altman wrote:
>> On 5/13/2013 11:00 AM, Corinna Vinschen wrote:
>> > On May  3 14:53, James Gregurich wrote:
>> >> The guy I have testing the native symlink support in the new cygwin is
>> >> reporting to me that if the target of the link does not exist, the
>> >> mechanism is creating a file reparse point. This is not desirable
>> >> behavior. When the target comes into existence, if it is a folder,
>> >> then the native symlink is invalid.  What the mechanism should do is
>> >> fall back to the native symlink format if the target doesn't exist.
>> >> That way, the link is never invalid. Since it is a default format
>> >> symlink, then my test for the need to replace the link by checking if
>> >> it is not a reparse point will work. Otherwise, I would have to take
>> >> into consideration that the reparse point may exist but be invalid.
>> > 
>> > Makes sense.  I'll fix that shortly.
>> 
>> Corinna,
>> 
>> Don't worry about falling back for AFS.  The correct thing will happen
>> there because AFS does not save the target type information as part of
>> the backend link information.
>
>Thanks for the reminder.  I'll keep that in mind for the patch.

I've had a private discussion with Corinna about this and she asked me
to make my concerns known.

It seems to me that if you tell Cygwin to create native windows symlinks
then, if it is unable to do so, it should not be falling back to using
its own symlinks.  I would think that would be surprising to someone who
set the CYGWIN environment variable to force that behavior.

If we fall back then a user will create a symlink, assuming that their
native windows app will be able to use it but, will get a strange error
when they attempt to run the program.  With the fallback there will be
no way to test, within cygwin at least, what format the symlink is and
so they won't even be able to verify that the symlink is what they want
it to be.

I don't feel strongly about this but I thought that the fallback behavior
could be confusing to the end user.

cgf

  reply	other threads:[~2013-05-13 18:59 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-27 15:17 64 bit Cygwin 1.7.18-12 Corinna Vinschen
2013-03-27 21:54 ` native symlink James Gregurich
2013-03-27 22:41   ` Larry Hall (Cygwin Developers)
2013-03-31 15:55     ` Jeffrey Altman
2013-04-01 16:17       ` Larry Hall
2013-04-01 19:25     ` James Gregurich
2013-04-01 19:52       ` Christopher Faylor
2013-04-01 22:03         ` James Gregurich
2013-04-02  0:06           ` Christopher Faylor
2013-04-03  0:49             ` James Gregurich
2013-04-03  1:41               ` Christopher Faylor
2013-04-03  3:16                 ` James Gregurich
2013-04-03  4:33                   ` Jeffrey Altman
2013-04-03 15:29                     ` Corinna Vinschen
2013-04-03 16:32                       ` Larry Hall
2013-04-03 16:51                         ` Jeffrey Altman
2013-04-03 16:52                       ` Jeffrey Altman
2013-04-03 17:29                         ` Corinna Vinschen
2013-04-03 20:46                           ` Corinna Vinschen
2013-04-03 21:35                             ` Jeffrey Altman
2013-04-11 16:03                               ` Corinna Vinschen
2013-04-11 21:55                             ` Jeffrey Altman
2013-04-12  8:33                               ` Corinna Vinschen
2013-04-13 13:08                                 ` Jeffrey Altman
2013-04-13 14:54                                   ` Corinna Vinschen
2013-04-03 21:31                       ` James Gregurich
2013-04-24 10:35                       ` Corinna Vinschen
2013-04-24 12:06                         ` Jeffrey Altman
2013-04-24 12:50                           ` Corinna Vinschen
2013-04-24 17:52                             ` James Gregurich
2013-04-24 17:56                             ` Jeffrey Altman
2013-04-24 18:14                               ` Corinna Vinschen
2013-04-24 18:16                                 ` Jeffrey Altman
2013-04-26 23:39                                 ` James Gregurich
2013-04-29 22:05                                   ` utility to update existing cygwin symlinks to native format? (was Re: native symlink) James Gregurich
2013-04-29 23:45                                     ` Larry Hall (Cygwin Developers)
2013-04-29 23:49                                       ` James Gregurich
2013-04-29 23:52                                         ` James Gregurich
2013-04-30  0:25                                         ` Christopher Faylor
2013-04-30  0:34                                           ` James Gregurich
2013-04-30  0:44                                             ` Charles Wilson
2013-04-30  1:19                                               ` James Gregurich
2013-05-03 21:53                                                 ` native symlink support should fallback to default format if target missing James Gregurich
2013-05-13 15:00                                                   ` Corinna Vinschen
2013-05-13 15:25                                                     ` Jeffrey Altman
2013-05-13 15:40                                                       ` Corinna Vinschen
2013-05-13 18:59                                                         ` Christopher Faylor [this message]
2013-05-13 19:47                                                           ` Earnie Boyd
2013-05-14 14:52                                                             ` James Gregurich
2013-05-14 15:04                                                               ` Corinna Vinschen
2013-05-14 15:54                                                                 ` Jeffrey Altman
2013-05-14 16:07                                                                   ` Corinna Vinschen
2013-05-14 21:04                                                                     ` James Gregurich
2013-05-14 16:42                                                                   ` Christopher Faylor
2013-05-14 21:11                                                                     ` James Gregurich
2013-05-15  2:28                                                                       ` Christopher Faylor
2013-05-15 15:07                                                                         ` James Gregurich
2013-05-14 21:04                                                                   ` James Gregurich
2013-05-14 15:31                                                               ` Christopher Faylor
2013-05-13 15:00                                   ` native symlink Corinna Vinschen
2013-05-13 15:12                                     ` Charles Wilson
2013-05-13 15:39                                       ` Corinna Vinschen
2013-05-13 20:54                                         ` Charles Wilson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130513185937.GA1601@ednor.casa.cgf.cx \
    --to=cgf-use-the-mailinglist-please@cygwin.com \
    --cc=cygwin-developers@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).