compat/mingw.h: Set S_ISUID to prevent a fast-import test failure

The current t9300-fast-import.sh test number 62 ("L: nested tree copy does not corrupt deltas") was introduced in commit 9a0edb79 ("fast-import: add a test for tree delta base corruption", 15-08-2011). A fix for the demonstrated problem was introduced by commit 8fb3ad76 ("fast-import: prevent producing bad delta", 15-08-2011). However, this fix didn't work on MinGW and so this test has always failed on MinGW. Part of the solution in commit 8fb3ad76 was to add an NO_DELTA preprocessor constant which was defined as follows: +/* + * We abuse the setuid bit on directories to mean "do not delta". + */ +#define NO_DELTA S_ISUID + Unfortunately, the S_ISUID constant on MinGW is defined as zero. In order to fix the problem, we simply alter the definition of S_ISUID in the mingw header file to a more appropriate value. Also, we take the opportunity to similarly define S_ISGID and S_ISVTX. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ramsay Jones committed Apr 17, 2012 at 19:00 UTC 90110d7645e5035ea59bc5c72fac4e11ad55a6ef
1 file changed +4 -3
compat/mingw.h
+4 -3
@@ -22,9 +22,10 @@ typedef int socklen_t;
22 #define S_IWOTH 0
23 #define S_IXOTH 0
24 #define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH)
25 -#define S_ISUID 0
26 -#define S_ISGID 0
27 -#define S_ISVTX 0
25 +
26 +#define S_ISUID 0004000
27 +#define S_ISGID 0002000
28 +#define S_ISVTX 0001000
29
30 #define WIFEXITED(x) 1
31 #define WIFSIGNALED(x) 0