Subject: Re: New symlinks
From: "Robert A McDougall" <[email-masked]>
To: [email-masked]
Date: Thu, 1 Mar 2001 12:28:55 EST

On Wed, 28 Feb 2001 at 18:38:11 -0500 Christopher Faylor wrote:

> For what gain?  So that users can create symlinks that could be used
> from Windows?  I am wondering if the gain is worth the price.

What he said!

Apologies for butting in, but since users' needs are an issue here,
maybe a mere user can comment.

The new symlink system lets you (1) use Windows shortcuts as symbolic
links in Cygwin (sc. with Cygwin-aware programs), and (2) create Windows
shortcuts as symbolic links in Cygwin.  I'd like to suggest that (1) is
more important than (2).

The main motivation for user-land use of Cygwin is to overlay the
Windows working environment with something better; e.g. to escape from
Windows Explorer to bash + fileutils.  In that context, whether Explorer
can recognize a Cygwin symbolic link is a secondary issue.

Admittedly, it would sometimes be nice to let Cygwin make Windows
shortcuts.  For example, it might be nice to put a symlink in
`/usr/local/bin' and have a non-Cygwin-aware "make.exe" follow it.  So
(2) is a secondary issue but not a non-issue.

Obviously these are just one individual's priorities.  But maybe if you
check it out, you'll find others with similar.

Anyhow, if you take the line that letting Cygwin-non-aware programs use
Cygwin-created links is nice-to-have but not essential, that suggests
that it's not worth going to great lengths to handle `.lnk' extensions
gracefully -- or raising a lot of questions of the form "But what 
happens if I do X?"

I'd suggest that something like this would be sufficiently user-
friendly (for the kind of users who want Cygwin in the first place):  

*   Let Cygwin recognize Windows shortcuts as symbolic links.

*   Let Cygwin optionally create symbolic links as Windows shortcuts,
    e.g. "ln foo bar" makes an old-style symbolic link,
    "ln --uwin foo bar" makes a Windows shortcut.

*   Don't require Cygwin to hide or covertly add the `.lnk' extension.
    So to follow a Windows shortcut "foo.lnk", you actually have to call
    it "foo.lnk" when talking to your Cygwin-aware program.  Similarly,
    to make a Windows shortcut that Cygwin-non-aware programs will
    actually recognize, you have to give the `.lnk' extension in your
    "ln" command; e.g. "ln --uwin foo bar" really does make `bar'; to
    make `bar.lnk' you have to ask for it explicitly,
    "ln --uwin foo bar.lnk".

*   Users who would like Windows Explorer to handle Cygwin symbolic
    links gracefully, may ask Microsoft to link the next release of
    Explorer against the cygwin DLL; or request the source code so they
    can hack it themselves :).

It seems to me that this provides most of the benefits of the new
symlinks, and avoids most of the specification hassles.

-- 
robert mcdougall  .  center for global trade analysis

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple