All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] mingw: introduce a way to avoid std handle inheritance
@ 2017-10-30 17:10 Johannes Schindelin
  2017-10-30 17:10 ` [PATCH 1/3] mingw: add experimental feature to redirect standard handles Johannes Schindelin
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: Johannes Schindelin @ 2017-10-30 17:10 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

Particularly when calling Git from applications, such as Visual Studio,
it is important that stdin/stdout/stderr are closed properly. However,
when spawning processes on Windows, those handles must be marked as
inheritable if we want to use them, but that flag is a global flag and
may very well be used by other spawned processes which then do not know
to close those handles.

As a workaround, introduce handling for the environment variables
GIT_REDIRECT_STD* to read/write from/to named pipes instead
(conceptually similar to Unix sockets, for you Linux folks). These do
not need to be marked as inheritable, as the process can simply open the
named pipe. No global flags. No problems.

This feature was introduced as an experimental feature into Git for
Windows v2.11.0(2) and has been tested ever since. I feel it is
well-tested enough that it can be integrated into core Git.

Once it has been reviewed enough, I will gladly remove the
"experimental" adjectives and warnings.


Johannes Schindelin (3):
  mingw: add experimental feature to redirect standard handles
  mingw: special-case GIT_REDIRECT_STDERR=2>&1
  mingw: document the experimental standard handle redirection

 Documentation/git.txt | 17 +++++++++++++++
 compat/mingw.c        | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++
 t/t0001-init.sh       | 12 +++++++++++
 3 files changed, 87 insertions(+)


base-commit: cb5918aa0d50f50e83787f65c2ddc3dcb10159fe
Published-As: https://github.com/dscho/git/releases/tag/redirect-std-handles-v1
Fetch-It-Via: git fetch https://github.com/dscho/git redirect-std-handles-v1
-- 
2.15.0.windows.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2017-11-03 11:51 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-30 17:10 [PATCH 0/3] mingw: introduce a way to avoid std handle inheritance Johannes Schindelin
2017-10-30 17:10 ` [PATCH 1/3] mingw: add experimental feature to redirect standard handles Johannes Schindelin
2017-10-30 17:10 ` [PATCH 2/3] mingw: special-case GIT_REDIRECT_STDERR=2>&1 Johannes Schindelin
2017-10-30 17:10 ` [PATCH 3/3] mingw: document the experimental standard handle redirection Johannes Schindelin
2017-10-30 18:58   ` Eric Sunshine
2017-10-31 17:08     ` Johannes Schindelin
2017-11-01  4:58       ` Junio C Hamano
2017-11-01 16:37         ` Johannes Schindelin
2017-11-02  1:31           ` Junio C Hamano
2017-11-02 17:20             ` Johannes Schindelin
2017-11-03  1:50               ` Junio C Hamano
2017-11-03 11:51                 ` Johannes Schindelin
2017-10-30 20:55 ` [PATCH 0/3] mingw: introduce a way to avoid std handle inheritance Jonathan Nieder
2017-10-31  5:48   ` Junio C Hamano
2017-10-31 17:12   ` Johannes Schindelin
2017-10-31 18:09     ` Jonathan Nieder
2017-11-01 17:07       ` Johannes Schindelin
2017-11-01 17:17         ` Stefan Beller
2017-11-01 17:10 ` [PATCH v2 " Johannes Schindelin
2017-11-01 17:10   ` [PATCH v2 1/3] mingw: add experimental feature to redirect standard handles Johannes Schindelin
2017-11-01 17:10   ` [PATCH v2 2/3] mingw: optionally redirect stderr/stdout via the same handle Johannes Schindelin
2017-11-01 17:10   ` [PATCH v2 3/3] mingw: document the standard handle redirection Johannes Schindelin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.