diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2016-12-11 12:16:57 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-12-11 16:15:46 -0800 |
commit | cbb3f3c9b1975c9bdd07f24fc4ef4e504507adaa (patch) | |
tree | 3f20d55b4ec5b38f0cf03b8452ee73955c5f559e /t/t2104-update-index-skip-worktree.sh | |
parent | preparing for 2.10.3 (diff) | |
download | tgif-cbb3f3c9b1975c9bdd07f24fc4ef4e504507adaa.tar.xz |
mingw: intercept isatty() to handle /dev/null as Git expects it
When Git's source code calls isatty(), it really asks whether the
respective file descriptor is connected to an interactive terminal.
Windows' _isatty() function, however, determines whether the file
descriptor is associated with a character device. And NUL, Windows'
equivalent of /dev/null, is a character device.
Which means that for years, Git mistakenly detected an associated
interactive terminal when being run through the test suite, which
almost always redirects stdin, stdout and stderr to /dev/null.
This bug only became obvious, and painfully so, when the new
bisect--helper entered the `pu` branch and made the automatic build & test
time out because t6030 was waiting for an answer.
For details, see
https://msdn.microsoft.com/en-us/library/f4s0ddew.aspx
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t2104-update-index-skip-worktree.sh')
0 files changed, 0 insertions, 0 deletions