1
I use cygwin at Windows XP.
There's problem with Mercurial, for example.
Say, I need to push my repo with several subrepos to the remote server. This operation takes about 20 seconds.
When I call hg
from cmd.exe
, I see all actions in real-time:
pushing subrepo ..... to .....
searching for changes
etc. Everything is fine.
But, when I call it from cygwin terminal, I type hg push
, press Enter, and there's nothing echoed to the console for about 20 seconds, and then all the logs appear immediately.
Why is that, and how can I avoid that?
The cygwin shell uses pipes to direct output which programs often assume are non-interactive (they don't see them as a TTY / console). The result is they often buffer output in 4k chunks for performance reasons. Have not seen a general solution to this. – Brian – 2013-08-04T16:08:46.137
But, when I type, say,
ping google.com
, I see real-time action of it – Dmitry Frank – 2013-08-04T17:14:21.363Depends on the command / executable. Some always line buffer so won't be a problem. – Brian – 2013-08-04T17:17:56.497
I use mercurial under cygwin, and I don't have the described problem. Is this a "native" Windows version of mercurial, or cygwin's version? If the former, try the latter. – Heptite – 2013-08-04T19:57:31.150
This is a "native" Windows version, yes. It contains some useful features such as overlay icons and TortoiseHG GUI, cygwin's version seems not have them. Thanks for the suggestion, I'm out of my dev environment for several days, but I'll definitely try it later, anyway. – Dmitry Frank – 2013-08-04T22:01:15.957
My comment has been added as an answer. – Heptite – 2013-08-05T22:11:17.243