From: Johannes Sixt Date: Fri, 15 Jan 2016 06:54:47 GMT Subject: Re: [PATCH] t0060: loosen overly strict expectations Message-ID: <569897B7.4040302@kdbg.org> In-Reply-To: <5698415E.7070907@ramsayjones.plus.com> Am 15.01.2016 um 01:46 schrieb Ramsay Jones: > > > On 14/01/16 22:14, Johannes Sixt wrote: >> Am 14.01.2016 um 19:13 schrieb Ramsay Jones: >>> Correct me if I'm wrong (quite possible), but >>> _each_ drive has a current working directory associated with >>> it in win32, so it's a bit difficult to use drive designators >>> with a relative path (eg. C:usr/lib). >> >> As far as it matters for Git, such a path is still an absolute path, >> because it is not anchored at $(pwd). > > I have been using cygwin on windows since beta-18 (about 1995), in order > to avoid most of the horrors of the windows command line, so I'm a little > rusty. ;-) > > You know windows _much_ better than me, so could you please educate me > on this point. I tried this (on windows 8.1): > C:\cygwin64\home\ramsay\junk>dir C:sub-1 > dir C:sub-1 > Volume in drive C is TI31255200A > Volume Serial Number is 0024-4AC0 > > Directory of C:\cygwin64\home\ramsay\junk\sub-1 >[...] > > ... which seems to contradict what you say above. This example is not super-illuminating. You must cd to a directory on a different drive, say D:\foo, then call dir C:sub-1. The result will be the directory listing from somewhere deep inside the C: hierarchy, not from inside D:\foo. > > What am I missing? Git assumes, given a path in $path that is declared to be relative, that "$path" and "$(pwd)/$path" denote the same thing. But that does not work when path="C:sub-1". Yeah, "C:sub-1" is relative to something, but *in general* that something is not $(pwd). -- Hannes