]> git.ipfire.org Git - thirdparty/git.git/commit - t/t7400-submodule-basic.sh
t7400: add !CYGWIN prerequisite to 'add with \\ in path'
authorRamsay Jones <ramsay@ramsayjones.plus.com>
Sun, 30 Apr 2017 17:29:30 +0000 (18:29 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 1 May 2017 02:03:46 +0000 (11:03 +0900)
commit7f1b225153c9e75b805a262feb6796e3bf23dc3d
tree66484aae31863d10d362c69b5fc88c94b437f4fd
parentcf9e55f49438d07dd554c5ade92f1c266363af36
t7400: add !CYGWIN prerequisite to 'add with \\ in path'

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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7400-submodule-basic.sh