Re: [PATCH 1/2] relative_path should honor dos_drive_prefix
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 13, 2013, 05:53 UTC
- Message-ID
- <xmqq7gelmfm5.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <CANYiYbE6nT+9LrekWp7mryJ13RxQBSQ+p6EyQspAKBMj7oG0zQ@mail.gmail.com>
Jiang Xin <worldhello.net@gmail.com> writes:
Show 16 quoted lines
> 2013/9/13 Junio C Hamano <gitster@pobox.com>: >> >> For systems that need POSIX escape hatch for Apollo Domain ;-), we >> would need a bit more work. When both path1 and path2 begin with a >> double-dash, we would need to check if they match up to the next >> slash, so that >> >> - //host1/usr/src and //host1/usr/lib share the same root and the >> former can be made to ../src relative to the latter; >> >> - //host1/usr/src and //host2/usr/lib are of separate roots. >> >> or something. > > But how could we know which platform supports network pathnames and > needs such implementation.
Near the end of
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_12
is this:
If a pathname begins with two successive <slash> characters, the
first component following the leading <slash> characters may be
interpreted in an implementation-defined manner, although more than
two leading <slash> characters shall be treated as a single <slash>
character.Two points to note are
(1) Only paths that begin with exactly two slashes are special.
(2) As it is "implementation-defined", we are not even allowed to
treat that //host1/usr/src and //host1/usr/lib as sharing "the
same root", and make the former to ../src relative to the
latter.So in the strictest sense, we do not have to bother. As long as we make sure we do not molest anything that begins with exactly two slashes.