{"thread":{"id":"45128","subject":"Small regression on Windows","startedAt":"2017-02-13T18:00:52Z","lastAt":"2017-02-13T20:47:59Z","messageCount":3,"participants":["Johannes Sixt","Jeff Hostetler","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"311413","messageId":"6bc02b0a-a463-1f0c-3fee-ba27dd2482e4@kdbg.org","threadId":"45128","inReplyTo":null,"subject":"Small regression on Windows","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2017-02-13T18:00:37Z","receivedAt":"2017-02-13T18:00:52Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Please type this, preferably outside of any repo to avoid that it is \nchanged; note the command typo:\n\n    git -c help.autocorrect=40 ceckout\n\nGit waits for 4 seconds, but does not write anything until just before \nit exits. It bisects to\n\na9b8a09c3c30886c79133da9f48ef9f98c21c3b2 is the first bad commit\ncommit a9b8a09c3c30886c79133da9f48ef9f98c21c3b2\nAuthor: Jeff Hostetler <jeffhost@microsoft.com>\nDate:   Thu Dec 22 18:09:23 2016 +0100\n\n     mingw: replace isatty() hack\n\n     Git for Windows has carried a patch that depended on internals\n     of MSVC runtime, but it does not work correctly with recent MSVC\n     runtime. A replacement was written originally for compiling\n     with VC++. The patch in this message is a backport of that\n     replacement, and it also fixes the previous attempt to make\n     isatty() tell that /dev/null is *not* an interactive terminal.\n\n     Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>\n     Tested-by: Beat Bolli <dev+git@drbeat.li>\n     Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n     Signed-off-by: Junio C Hamano <gitster@pobox.com>\n\n:040000 040000 bc3c75bdfc766fe478e160a9452c31bfef50b505 \nf7183c3a0726fef7161d5f9ff8c997260025f1bb M      compat\n\nAny ideas? I haven't had time to dig any further.\n\n-- Hannes\n\n"},{"id":"311435","messageId":"8488f55c-37b1-1ded-53c5-7cd268210391@jeffhostetler.com","threadId":"45128","inReplyTo":"6bc02b0a-a463-1f0c-3fee-ba27dd2482e4@kdbg.org","subject":"Re: Small regression on Windows","fromName":"Jeff Hostetler","fromEmail":"git@jeffhostetler.com","sentAt":"2017-02-13T20:32:56Z","receivedAt":"2017-02-13T20:41:04Z","isPatch":false,"sender":{"key":"git@jeffhostetler.com","avatar":null},"body":"\n\nOn 2/13/2017 1:00 PM, Johannes Sixt wrote:\n> Please type this, preferably outside of any repo to avoid that it is \n> changed; note the command typo:\n>\n>    git -c help.autocorrect=40 ceckout\n>\n> Git waits for 4 seconds, but does not write anything until just before \n> it exits. It bisects to\n>\n> a9b8a09c3c30886c79133da9f48ef9f98c21c3b2 is the first bad commit\n> commit a9b8a09c3c30886c79133da9f48ef9f98c21c3b2\n> Author: Jeff Hostetler <jeffhost@microsoft.com>\n> Date:   Thu Dec 22 18:09:23 2016 +0100\n>\n>     mingw: replace isatty() hack\n>\n>     Git for Windows has carried a patch that depended on internals\n>     of MSVC runtime, but it does not work correctly with recent MSVC\n>     runtime. A replacement was written originally for compiling\n>     with VC++. The patch in this message is a backport of that\n>     replacement, and it also fixes the previous attempt to make\n>     isatty() tell that /dev/null is *not* an interactive terminal.\n>\n>     Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>\n>     Tested-by: Beat Bolli <dev+git@drbeat.li>\n>     Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n>     Signed-off-by: Junio C Hamano <gitster@pobox.com>\n>\n> :040000 040000 bc3c75bdfc766fe478e160a9452c31bfef50b505 \n> f7183c3a0726fef7161d5f9ff8c997260025f1bb M      compat\n>\n> Any ideas? I haven't had time to dig any further.\n\nI'm investigating now.\n\nThe warning text is being written to stderr and then main thread sleeps \nfor the 4 seconds.\nHowever, stderr has been redirected to the pipe connected to the \nconsole_thread that\nhandles the coloring/pager.  It is in a blocking ReadFile on the pipe \nand is thus stuck until\nthe main thread runs the corrected command and closes the pipe.  It then \nsees the EOF\nand prints everything in the pipe buffer.\n\nI'll look into fixing this now.\n\nJeff\n\n\n"},{"id":"311438","messageId":"xmqqbmu5ddhj.fsf@gitster.mtv.corp.google.com","threadId":"45128","inReplyTo":"8488f55c-37b1-1ded-53c5-7cd268210391@jeffhostetler.com","subject":"Re: Small regression on Windows","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-02-13T20:47:52Z","receivedAt":"2017-02-13T20:47:59Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff Hostetler <git@jeffhostetler.com> writes:\n\n> The warning text is being written to stderr and then main thread\n> sleeps for the 4 seconds.  However, stderr has been redirected to\n> the pipe connected to the console_thread that handles the\n> coloring/pager.  It is in a blocking ReadFile on the pipe and is\n> thus stuck until the main thread runs the corrected command and\n> closes the pipe.  It then sees the EOF and prints everything in\n> the pipe buffer.\n\nIOW, somehow your stderr is not flushing automatically?\n\n> I'll look into fixing this now.\n\nThanks.\n"}]}