Re: [PATCH v2 0/3] Really fix the isatty() problem on Windows
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 22, 2016, 18:19 UTC
- Message-ID
- <xmqq37hfhln5.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <xmqqd1gjhn0u.fsf@gitster.mtv.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 12 quoted lines
> Johannes Schindelin <johannes.schindelin@gmx.de> writes: > ... >> - fixed the confusing commit message by using Junio's suggested >> replacement > > Sorry, but I didn't mean to "suggest replacement". I was just > testing my understanding by attempt to rephrase the gist of it. > ... > Your "use this opportunity to actually clean up" above suggests that > the answer is the latter, but if you took my "summary of my > understanding", it is likely that that fact is not captured in the > resulting log message.
So using the original log message in v1 and what you wrote in the message I was responding to as references, let me try a real "suggested" one as penance.
I need to ask one clarification on what you wrote before completing that effort, though.
Show 5 quoted lines
>> And incidentally, replacing the previous hack with the clean, new >> solution, which specifies explicitly for the file descriptors 0, 1 and 2 >> whether we detected an MSYS2 pseudo-tty, whether we detected a real >> Win32 Console, and whether we had to swap out a real Win32 Console for a >> pipe to allow child processes to inherit it.
This has subject but not verb. I parsed the above like so:
Replacing the previous hack with the clean, new solution (which
specifies explicitly for the file descriptors 0, 1 and 2
- whether we detected an MSYS2 pseudo-tty,
- whether we detected a real Win32 Console, and
- whether we had to swap out a real Win32 Console for a
pipe to allow child processes to inherit it
)So the entire thing is a noun phrase "replacing with a new patch", and I take that as the subject of an unfinished sentence. What did that subject do? Replacing with a new patch allows us to do "this wonderful thing", but what "this wonderful thing" is not clear.
Subject: mingw: replace isatty() hack From: Jeff Hostetler <jeffhost@microsoft.com>
For over a year, Git for Windows has carried a patch that detects the MSYS2 pseudo ttys used by Git for Windows' default Git Bash (i.e. a terminal that is not backed by a Win32 Console), but it did so by accessing internals of a previous MSVC runtime that is no longer valid in newer versions.
Clean up this mess by backporting a patch that was originally done to compile Git with a recent VC++. Replacing the previous hack with the clean, new solution, which specifies explicitly for the file descriptors 0, 1 and 2 whether we detected an MSYS2 pseudo-tty, whether we detected a real Win32 Console, and whether we had to swap out a real Win32 Console for a pipe to allow child processes to inherit it, lets us do XXXXX.
As a side effect (which was the reason for the back-port), this patch also fixes the previous misguided attempt to intercept isatty() so that it handles character devices (such as /dev/null) as Git expects it.