git for windows: isatty of stdin / stdout inconsistent

From: Anthony Sottile <hidden>
Date: 2020-06-12 17:06:48

this seems inconsistent with posix platforms

(using cmd.exe, git 2.19.1.windows.1 though I've validated this with
other versions as well)
cat .git\hooks\pre-commit
#!/usr/bin/env python
# note: use python3 on linux platforms for shebang
import sys
print(f'stdin: {sys.stdin.isatty()}')
print(f'stdout: {sys.stdout.isatty()}')
print(f'stderr: {sys.stderr.isatty()}')
git commit -m foo --allow-empty
stdin: True
stdout: False
stderr: True
[master (root-commit) 9c7716f] foo

but on linux:

$ git --version
git version 2.25.1
$ git commit -m foo --allow-empty
stdin: False
stdout: True
stderr: True
[master (root-commit) eb8435a] foo

it's also weird to me that `stdin` seems flipped between the two as well

actual issue: this is breaking coloring detection in https://pre-commit.com

Anthony
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help