delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
X-Original-To: | cygwin AT cygwin DOT com |
Delivered-To: | cygwin AT cygwin DOT com |
DMARC-Filter: | OpenDMARC Filter v1.3.2 sourceware.org DBD3F3857C7F |
Authentication-Results: | sourceware.org; |
dmarc=pass (p=none dis=none) header.from=yandex.ru | |
Authentication-Results: | sourceware.org; |
spf=pass smtp.mailfrom=anrdaemon AT yandex DOT ru | |
DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; |
t=1616160902; bh=mZWl44h4fGbfld17HTfHtTem8E0/HbwXkkKveWkLeKk=; | |
h=In-Reply-To:Subject:To:From:Message-ID:References:Date:Reply-To; | |
b=qwKkwZepUQExr3wYI4bnmybxi2rr/gpuDUN55S7iY5gSiC3Hi3POKFBnYRIN8d68u | |
+DliNLcDAQ5hCL8UjdObdzStw6MC3BLKnxJha2Ykg9B3pntRBX8bZoSeukt4qK9KV6 | |
7TD8Q6rs3pMiJa2sR3oizIZsZXs93L9Z6wcBfdqg= | |
Authentication-Results: | myt6-722f198f7b2f.qloud-c.yandex.net; |
dkim=pass header.i=@yandex.ru | |
Date: | Fri, 19 Mar 2021 16:29:23 +0300 |
From: | Andrey Repin <anrdaemon AT yandex DOT ru> |
X-Mailer: | The Bat! (v6.8.8) Home |
X-Priority: | 3 (Normal) |
Message-ID: | <691553387.20210319162923@yandex.ru> |
To: | L A Walsh <cygwin AT tlinx DOT org>, cygwin AT cygwin DOT com |
Subject: | Re: Different symlink resolution in native console vs. terminal |
In-Reply-To: | <6050B3DF.2090805@tlinx.org> |
References: | <837599661 DOT 20210311015158 AT yandex DOT ru> <6050B3DF DOT 2090805 AT tlinx DOT org> |
MIME-Version: | 1.0 |
X-Spam-Status: | No, score=-1.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, |
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, KAM_THEBAT, | |
NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, | |
TXREP autolearn=no autolearn_force=no version=3.4.2 | |
X-Spam-Checker-Version: | SpamAssassin 3.4.2 (2018-09-13) on |
server2.sourceware.org | |
X-BeenThere: | cygwin AT cygwin DOT com |
X-Mailman-Version: | 2.1.29 |
List-Id: | General Cygwin discussions and problem reports <cygwin.cygwin.com> |
List-Unsubscribe: | <https://cygwin.com/mailman/options/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe> | |
List-Archive: | <https://cygwin.com/pipermail/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-request AT cygwin DOT com?subject=help> |
List-Subscribe: | <https://cygwin.com/mailman/listinfo/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe> | |
Reply-To: | cygwin AT cygwin DOT com |
Errors-To: | cygwin-bounces AT cygwin DOT com |
Sender: | "Cygwin" <cygwin-bounces AT cygwin DOT com> |
Greetings, L A Walsh! > On 2021/03/10 14:51, Andrey Repin wrote: >> Running `pwd -P` or `readlink -e .` in a specific directory from native >> terminal provide unresolved answers. >> >> The directory $HOME/Documents/EVE is a symlink pointing to $HOME\Documents\Games\EVE. >> >> When running either command inside the directory from native terminal, the >> result is literally /home/Documents/EVE, but when running the same command >> from mintty inside same directory, the results may vary. >> >> $HOME/Documents/EVE or $HOME/Documents/Games/EVE (which is expected answer). >> It also seems, there are results difference between `bash -l` `and bash -i` >> and `pwd -P` and `readlink -e .`. >> Generally, "pwd" is more correct. >> > 1) When you look at the processes(native v mintty), are both the > same #bits? Interesting question. Originally I tested in 32-bit console, but it seems this is not relevant. $ START "" "%SystemRoot%\sysnative\cmd.exe" $ CD /D "%USERPROFILE%\Documents\EVE" $ readlink -e . /home/anrdaemon/Documents/EVE There's even MORE interesting sequence: [anrdaemon AT DAEMON2 C:\Users\anrdaemon\Documents\EVE] $ bash -i anrdaemon AT daemon2:cygwin:~/Documents/EVE $ readlink -e . /home/anrdaemon/Documents/EVE anrdaemon AT daemon2:cygwin:~/Documents/EVE $ cd "$( pwd )" anrdaemon AT daemon2:cygwin:~/Documents/EVE $ readlink -e . /home/anrdaemon/Documents/Games/EVE > 2) Can you reproduce this with any other dir? In fact. I picked a directory outside Cygwin mount table for this test: [anrdaemon AT DAEMON2 C:\] $ MKLINK /J "C:\Games\KP2" "C:\Games\_old\KP2" Junction created for C:\Games\KP2 <<===>> C:\Games\_old\KP2 [anrdaemon AT DAEMON2 C:\Games] $ CD /D "C:\Games\KP2" [anrdaemon AT DAEMON2 C:\Games\KP2] $ pwd -P /c/Games/KP2 [anrdaemon AT DAEMON2 C:\Games\KP2] $ readlink -e . /c/Games/KP2 [anrdaemon AT DAEMON2 C:\Games\KP2] $ bash -i anrdaemon AT daemon2:cygwin:/c/Games/KP2 $ pwd -P /c/Games/_old/KP2 anrdaemon AT daemon2:cygwin:/c/Games/KP2 $ readlink -e . /c/Games/KP2 anrdaemon AT daemon2:cygwin:/c/Games/KP2 $ cd "$( pwd )" anrdaemon AT daemon2:cygwin:/c/Games/KP2 $ pwd -P /c/Games/_old/KP2 anrdaemon AT daemon2:cygwin:/c/Games/KP2 $ readlink -e . /c/Games/_old/KP2 However, the C:\Games is a volume mount point. May be that is a problem? Another test, this time no external factors, all directories in path are real: [anrdaemon AT DAEMON2 C:\] $ MKLINK /J "C:\dev\php" "C:\dev\temp\install\php" [anrdaemon AT DAEMON2 C:\] $ CD /D "C:\dev\php" [anrdaemon AT DAEMON2 C:\dev\php] $ pwd -P /c/dev/php [anrdaemon AT DAEMON2 C:\dev\php] $ readlink -e . /c/dev/php > Both Documents and Games have multiple copies due to the public > docs+games are in the docs+games library (along with user versions). As shown in the tests, this is not really a problem. > Maybe the winterm is picking up a different file? Eh? Terminal is just a display. > I think one or both of those dirs have a GUID associated with them, maybe > one is using a different GUID than the other? ??? > I also have Win7x64 but have never seen them misbehaving... > How was your link made? EVE is a symlink, but junctions behaving just the same and do not require elevation to create. -- With best regards, Andrey Repin Friday, March 19, 2021 15:49:11 Sorry for my terrible english... -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |