public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* 2.2.1: NTFS directory symlinks handling
@ 2015-08-22  0:36 Mingye Wang (Arthur2e5)
  2015-08-24 13:55 ` cyg Simple
  0 siblings, 1 reply; 2+ messages in thread
From: Mingye Wang (Arthur2e5) @ 2015-08-22  0:36 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 1503 bytes --]

It is known that cygwin has a naive interpretation for NTFS symlinks, by
translating those paths directly. This works fine with most cases, but
when you link stuffs under `/` to somewhere like `../cygwin/home`, it
simply breaks.

I have a directory tree like this:

|- cygwin/
  |- home/
    |- Arthur/
      |- .gnupg/ (mklink /D .gnupg \Users\Arthur\Appdata\Roaming\gnupg)
      |- .ssh/   (mklink /D .ssh \Users\Arthur\.ssh)
  |- tmp/
    |- 1.txt
|- cygwin64/
  |- tmp@  (mklink /D tmp ..\cygwin\tmp)
  |- home@ (mklink /D home ..\cygwin\home)

It appears that those `.gnupg` and `.ssh` with an absolute path to the
drive root was interpreted correctly, like
`/cygdrive/c/Users/Arthur/.ssh`, but cygwin64's /tmp and /home breaks,
with the following manner described:

1. Directly interacting with those paths, like attempting a `cd` into
them, cause 'File not found' errors. Running `ls --color` on them gives
a cyan color of it, but doesn't list their contents.
  1. `readlink -n /tmp` gives naively translated paths like
`../cygwin/tmp` which I believe what cygwin is using. Adding an extra
link like `ln -s /cygdrive/c/cygwin` fixes this, by making that
`/../cygwin` available.
  2. bash also does some startup checking and warns me about '/tmp missing'.
2. Operations like reading the contents of those directories are not
affected. For example, `cd` into `/home/Arthur` and running `cat` on
`/tmp/1.txt`. `ls` works, too.

-- 
Regards,
Arthur2e5






[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: 2.2.1: NTFS directory symlinks handling
  2015-08-22  0:36 2.2.1: NTFS directory symlinks handling Mingye Wang (Arthur2e5)
@ 2015-08-24 13:55 ` cyg Simple
  0 siblings, 0 replies; 2+ messages in thread
From: cyg Simple @ 2015-08-24 13:55 UTC (permalink / raw)
  To: cygwin

On 8/21/2015 8:35 PM, Mingye Wang (Arthur2e5) wrote:
> It is known that cygwin has a naive interpretation for NTFS symlinks, by
> translating those paths directly. This works fine with most cases, but
> when you link stuffs under `/` to somewhere like `../cygwin/home`, it
> simply breaks.
> 
> I have a directory tree like this:
> 
> |- cygwin/
>   |- home/
>     |- Arthur/
>       |- .gnupg/ (mklink /D .gnupg \Users\Arthur\Appdata\Roaming\gnupg)
>       |- .ssh/   (mklink /D .ssh \Users\Arthur\.ssh)
>   |- tmp/
>     |- 1.txt
> |- cygwin64/
>   |- tmp@  (mklink /D tmp ..\cygwin\tmp)
>   |- home@ (mklink /D home ..\cygwin\home)
> 
> It appears that those `.gnupg` and `.ssh` with an absolute path to the
> drive root was interpreted correctly, like
> `/cygdrive/c/Users/Arthur/.ssh`, but cygwin64's /tmp and /home breaks,
> with the following manner described:
> 

I would suggest to stick to absolute paths.

What happens when you "dir ..\cygwin"?  I.E.: Is it a valid path to
begin with?

-- 
cyg Simple

--
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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-08-24 13:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-22  0:36 2.2.1: NTFS directory symlinks handling Mingye Wang (Arthur2e5)
2015-08-24 13:55 ` cyg Simple

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).