Subject: Re: [PATCH V4] git clone: is an URL local or ssh

From: Johannes Sixt <[email-masked]>
Date: Tue, 05 Nov 2013 08:14:45 +0100

Am 11/4/2013 22:20, schrieb Torsten Bögershausen:
> Bug fix for msygit in t5601 : use $PWD insted of $(pwd)

Not really. $PWD is /c/foo/bar style, but $(pwd) is c:/foo/bar, which is
equally good.

>  test_expect_success 'clone with excess parameters (2)' '
>  
>  	rm -fr dst &&
> -	test_must_fail git clone -n "file://$(pwd)/src" dst junk
> +	test_must_fail git clone -n "file://$PWD/src" dst junk

That the code change necessitates this change in the test suite is a sign
that there is something wrong with the new code.

And indeed, the original works:

C:\Temp\gittest>git clone -n file://c:/Temp/gittest/foo good
Cloning into 'good'...
remote: Counting objects: 2, done.
remote: Total 2 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (2/2), done.
Checking connectivity... done.

but the changed code does not:

C:\Temp\gittest>D:\src\mingw-git\git clone -n file://c:/Temp/gittest/foo bad
Cloning into 'bad'...
fatal: 'D:/Src/MsysGit/Temp/gittest/foo' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Can you please make this into a series of small patches so that we can
more easily see the good and the bad parts? One of the patches could be a
clean-up of the current protocol determination and URL dissection, which
is indigestible spaghetti right now.

-- Hannes