Am 23.05.2017 um 12:53 schrieb Johannes Schindelin:
Hi Hannes (& Junio, see below),
On Mon, 22 May 2017, Johannes Sixt wrote:
Am 22.05.2017 um 13:59 schrieb Johannes Schindelin:
On Sat, 20 May 2017, Johannes Sixt wrote:
This small series fixes these warnings on Windows:
C:\Temp\gittest>git fetch C:\Temp\gittest
warning: unable to access '.git/remotes/C:\Temp\gittest': Invalid argument
warning: unable to access '.git/branches/C:\Temp\gittest': Invalid
warning: argument
From C:\Temp\gittest
* branch HEAD -> FETCH_HEAD
The fix is in the second patch; the first patch is a
preparation that allows to write the fix in my preferred style.
Thank you!
Maybe you want to accompany these patches with a simple test case that
uses e.g. ls-remote on $(pwd | tr / \\\\)?
Actually, no, I don't want to. It would have to be protected by MINGW, and I
don't want to burden us (and here I mean Windows folks) with a check for a
cosmetic deficiency. (Shell scripts, slow forks, yadda, yadda...)
Actually, yes, I want to.
Yes, it would have to be protected by MINGW, and yes, it would put a
burden on us, but also yes: it would put an even higher burden on me to
check this manually before releasing Git for Windows, or even worse: this
regression would be the kind of bug that triggers many bug reports,
addressing which would take a lot more time than writing this test case
and executing it as part of our test suite.
Fair enough. The patch looks good. I'll be able to test no earlier than
Monday, though.
So here goes:
-- snipsnap --
From: Johannes Schindelin <johannes.schindelin@xxxxxx>
Date: Tue, 23 May 2017 12:42:13 +0200
Subject: [PATCH] mingw: verify that paths are not mistaken for remote nicknames
This added test case simply verifies that users will not be bothered
with bogus complaints à la
warning: unable to access '.git/remotes/D:\repo': Invalid argument
when fetching from a Windows path (in this case, D:\repo).
Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx>
---
t/t5580-clone-push-unc.sh | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/t/t5580-clone-push-unc.sh b/t/t5580-clone-push-unc.sh
index b195f71ea98..93ce99ba3c6 100755
--- a/t/t5580-clone-push-unc.sh
+++ b/t/t5580-clone-push-unc.sh
@@ -1,13 +1,19 @@
#!/bin/sh
-test_description='various UNC path tests (Windows-only)'
+test_description='various Windows-only path tests'
. ./test-lib.sh
if ! test_have_prereq MINGW; then
- skip_all='skipping UNC path tests, requires Windows'
+ skip_all='skipping Windows-only path tests'
test_done
fi
+test_expect_success 'remote nick cannot contain backslashes' '
+ BACKSLASHED="$(pwd | tr / \\\\)" &&
+ git ls-remote "$BACKSLASHED" >out 2>err &&
+ ! grep "unable to access" err
+'
+
UNCPATH="$(pwd)"
case "$UNCPATH" in
[A-Z]:*)