git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2] t7400: add !CYGWIN prerequisite to 'add with \\ in path'

From
Ramsay Jones <ramsay@ramsayjones.plus.com>
Date
Apr 30, 2017, 17:29 UTC
Message-ID
<bd5e3dc3-14f2-da03-4487-a52d3c0b52fe@ramsayjones.plus.com>

Commit cf9e55f494 ("submodule: prevent backslash expantion in submodule names", 07-04-2017) added a test which creates a git repository with some backslash characters in the name. On windows, where the backslash character is a directory separator, it is not possible to create a repository with the name 'sub\with\backslash'. (The NTFS filesystem would probably allow it, but the win32 api does not). The MinGW and Git for Windows versions of git actually create a repository called 'backslash' in the sub-directory 'sub/with'.

On cygwin, however, due to the slightly schizophrenic treatment of the backslash character by cygwin-git, this test fails at the 'git init' stage. The git-init command does not recognise the directory separators in the input path (eg. is_dir_sep('\\') is false), so it does not attempt to create the leading directories 'sub/with'. (The call to mkdir('sub\\with\\backslash') actually does recognise the directory separators, but fails because the 'sub/with' directory doesn't exist).

In order to suppress the test failure (for now), add the !CYGWIN test prerequisite.

Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
---
Hi Junio,
This is the 'v2' re-roll of the 'BSLASHPSEC' patch. :-D

ATB, Ramsay Jones

 t/t7400-submodule-basic.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
index c2706fe47..d0357f1d8 100755
--- a/t/t7400-submodule-basic.sh
+++ b/t/t7400-submodule-basic.sh
@@ -273,7 +273,7 @@ test_expect_success 'submodule add with ./, /.. and // in path' '
 	test_cmp empty untracked
 '
 
-test_expect_success 'submodule add with \\ in path' '
+test_expect_success !CYGWIN 'submodule add with \\ in path' '
 	test_when_finished "rm -rf parent sub\\with\\backslash" &&
 
 	# Initialize a repo with a backslash in its name
-- 
2.12.0
Next: Junio C Hamano
Message 1 of 2 in “t7400: add !CYGWIN prerequisite to 'add with \\ in path'”
  1. t7400: add !CYGWIN prerequisite to 'add with \\ in path'Ramsay Jones, Apr 30, 2017
  2. Junio C HamanoMay 1, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.