diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2023-08-09 19:54:46 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-08-09 23:58:13 +0300 |
commit | 4b8a2717bb5ea6b787e0037174dcbf53ccf4985c (patch) | |
tree | 7a56f02d61cc26098fa3b856431535baa056a0c8 /config.mak.uname | |
parent | fb7d80edcae482f4fa5d4be0227dc3054734e5f3 (diff) |
win32: add a helper to run `git.exe` without a foreground window
On Windows, there are two kinds of executables, console ones and
non-console ones. Git's executables are all console ones.
When launching the former e.g. in a scheduled task, a CMD window pops
up. This is not what we want for the tasks installed via the `git
maintenance` command.
To work around this, let's introduce `headless-git.exe`, which is a
non-console program that does _not_ pop up any window. All it does is to
re-launch `git.exe`, suppressing that console window, passing through
all command-line arguments as-are.
Helped-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Helped-by: Yuyi Wang <Strawberry_Str@hotmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'config.mak.uname')
-rw-r--r-- | config.mak.uname | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/config.mak.uname b/config.mak.uname index 64c44db805..3bb03f423a 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -526,6 +526,8 @@ else endif X = .exe + EXTRA_PROGRAMS += headless-git$X + compat/msvc.o: compat/msvc.c compat/mingw.c GIT-CFLAGS endif ifeq ($(uname_S),Interix) @@ -705,6 +707,7 @@ ifeq ($(uname_S),MINGW) COMPAT_CFLAGS += -D__USE_MINGW_ANSI_STDIO=0 -DDETECT_MSYS_TTY \ -fstack-protector-strong EXTLIBS += -lntdll + EXTRA_PROGRAMS += headless-git$X INSTALL = /bin/install INTERNAL_QSORT = YesPlease HAVE_LIBCHARSET_H = YesPlease |