public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Ken Brown <kbrown@cornell.edu>
To: "cygwin@cygwin.com" <cygwin@cygwin.com>
Subject: Re: Stumbled upon relative name resolution across symlinks
Date: Fri, 02 Nov 2018 12:15:00 -0000	[thread overview]
Message-ID: <17c3c217-0b57-2976-a101-777ccf0e135b@cornell.edu> (raw)
In-Reply-To: <123348672.20181102013908@yandex.ru>

On 11/1/2018 6:39 PM, Andrey Repin wrote:
> Greetings, All!
> 
> $ pwd
> /home/anrdaemon/Documents/NIX/CA-tutorial/test
> 
> $ ls -ld bin ca-profile
> lrwxrwxrwx 1 anrdaemon None  61 ноя  2 01:15 bin -> /home/anrdaemon/Documents/NIX/CA-tutorial/svn-working/scripts
> -rwx--x--x 1 anrdaemon None 588 дек 24  2017 ca-profile
> 
> $ cat bin/../ca-profile
> cat: bin/../ca-profile: No such file or directory
> 
> $ cat $( realpath -Le "bin/../ca-profile" )
> # @version $Id: ca-profile 82 2014-02-08 05:24:12Z anrdaemon $
> ...
> 
> In simpler words, the bin directory is symlinked from elsewhere.
> realpath -Le resolves correctly, but all other filesystem functions fail.

I might be misunderstanding you, but are you saying that you think 'bin/..' 
should resolve to the current working directory?  This is not what Posix says. 
See http://pubs.opengroup.org/onlinepubs/9699919799/, starting at "If a symbolic 
link is encountered during pathname resolution...".  The reason you got what you 
wanted using 'realpath -L' is that the -L option specifically asks for that:

$ man realpath
[...]
        -L, --logical
               resolve '..' components before symlinks

Ken

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

  reply	other threads:[~2018-11-02 12:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-01 22:50 Andrey Repin
2018-11-02 12:15 ` Ken Brown [this message]
2018-11-02 14:15 ` cyg Simple

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=17c3c217-0b57-2976-a101-777ccf0e135b@cornell.edu \
    --to=kbrown@cornell.edu \
    --cc=cygwin@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).