On 6/23/2011 8:06 PM, Andrey Repin wrote:
Greetings, Marco atzeri!
On 6/23/2011 5:05 PM, Andrey Repin wrote:
Greetings, Marco atzeri!
Cygwin, to my best understanding, is supposed to transparently accept native
Windows paths.
No, cygwin expects to receive POSIX/Unix paths
$ cygpath -h
[cut]
-u, --unix (default) print Unix form of NAMEs
(/cygdrive/c/winnt)
so cygpath -u
expects to receive a Windows path and convert it in a unix one.
That's your assumption. Which is not necessarily true. (Unless you're author
of cygpath, in which case you have full authority to tell me what it is
supposed to be.)
Man page and reference card both do not specify the exact argument format,
only the intended result format.
And just to be clear, windows in the core don't see a difference between the
path in format of "C:/whatever/..." or "C:\whatever\...".
This behavior is very, very old. Even older than Windows itself, if you know,
what "INT 21h" means.
you are right, but it is not very useful to translate a
windows path in a windows path ...
On Win XP cmd.exe, is not always true that the
two forms are equivalent (we are not anymore on CP/M, DOS age):
C:\Temp>cd c:/Temp
The system cannot find the path specified.
C:\Temp>cd c:\Temp
C:\Temp>
C:\>cd c:\Temp
C:\Temp>
C:\>cd c:/Temp
C:\Temp>
and if I remember correctly also somewhere else in the core of MS system
the "\" "/" are not equivalent.
From your example:
cygpath -u \\\\DAEMON1\\anrdaemon\\.profile
/c/DAEMON1/anrdaemon/.profile
the argument is an escaped windows network path
and the outcome is the Unix equivalent
Not true for the "outcome" part.
<stdout>:cygpath -w "/c/DAEMON1/anrdaemon/.profile"
C:\DAEMON1\anrdaemon\.profile
With your cygdrive mapping /c is the disk C: so the first looks like a
Unix path and the outcome is the equivalent windows path.
Cygpath doesn't check if the path exist
From my bash shell, as cygdrive is not remapped:
$ cygpath -w "/c/DAEMON1/anrdaemon/.profile"
E:\cygwin2\c\DAEMON1\anrdaemon\.profile
$ cygpath -w "/cygdrive/c/DAEMON1/anrdaemon/.profile"
C:\DAEMON1\anrdaemon\.profile
Which is far from original network path.
As Corinna explained:
$ echo \\\\DAEMON1\\anrdaemon\\.profile
\\DAEMON1\anrdaemon\.profile
I already said that I'm sorry, that I forgot to mention what seems to be
critical bit of information.
By the way resetting "cygdrive" is not a good idea,
it is better to obtain
To tell you, that was actually a good idea for me. I don't have an eternity to
type "/cygwhatever" every time I want to address another drive. So the idea
to map cygdrive to "/" was actually very handy, thanks to this mailing list
helping to finish and polish it.
If you are happy, fine for me.
--
WBR,
Andrey Repin (anrdae...@freemail.ru) 23.06.2011,<20:58>
Sorry for my terrible english...
--
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