C: vs /cygdrive/c and git

Bill Hoffman bill.hoffman@kitware.com
Thu Jun 3 21:07:00 GMT 2010


On 6/3/2010 4:39 PM, Eric Blake wrote:
> On 06/03/2010 02:32 PM, Bill Hoffman wrote:

> In that case, git is just blindly treating c: as ./c: - that is, the
> relative file named "c:" in the current directory.  Since POSIX allows
> this interpretation, there's no reason for git to special case it and
> try otherwise.
>
I am still not convinced....

It seems that if I try git clone c:/foobar

If there is a c:/foobar then it does current_dir/c:/foobar.  However, if 
c:/foobar does not exist, it then treats c as a machine name.

$ git clone c:/foobar a
Initialized empty Git repository in /cygdrive/c/Users/hoffman/Work/My 
Builds/CMake-gmake/a/.git/
ssh: Could not resolve hostname c: hostname nor servname provided, or 
not known
fatal: The remote end hung up unexpectedly

$ mkdir c:/foobar

$ git clone c:/foobar a
Initialized empty Git repository in /cygdrive/c/Users/hoffman/Work/My 
Builds/CMake-gmake/a/.git/
fatal: failed to open '/cygdrive/c/Users/hoffman/Work/My 
Builds/CMake-gmake/c:/foobar/objects': No such file or directory

So, it is not just assuming that c:/foobar is a file named "c:" because 
it must find that c:/foobar exists on the disk before it tries to append 
it to the current directory.   If c:/foobar does not exist, then git 
tries a remote machine named c.

Again, I don't think this is git specific, but I would like to 
understand at what level of cygwin this is coming from.

Thanks.

-Bill

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



More information about the Cygwin mailing list