From: Karsten Blees <>
Date: Fri, 7 Jan 2011 19:52:20 +0100

MingwRT listens to _CRT_glob to decide if __getmainargs should
perform globbing, with the default being that it should.
Unfortunately, __getmainargs globbing is sub-par; for instance
patterns like "*.c" will only match c-sources in the current

Disable __getmainargs' command line wildcard expansion, so these
patterns will be left untouched, and handled by Git's superior
built-in globbing instead.

MSVC defaults to no globbing, so we don't need to do anything
in that case.

This fixes t5505 and t7810.

Signed-off-by: Karsten Blees <>
Signed-off-by: Erik Faye-Lund <>
Signed-off-by: Stepan Kasal <>
 compat/mingw.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/compat/mingw.c b/compat/mingw.c
index 6849815..1140a13 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -1927,6 +1927,12 @@ int xwcstoutf(char *utf, const wchar_t *wcs, size_t 
        return -1;
+ * Disable MSVCRT command line wildcard expansion (__getmainargs called from
+ * mingw startup code, see init.c in mingw runtime).
+ */
+int _CRT_glob = 0;
 void mingw_startup()
        /* copy executable name to argv[0] */

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to