Eu uso o mercurial sob o cygwin e não tenho o problema descrito. Esta é uma versão "nativa" para o Windows do mercurial, ou a versão do cygwin? Se o primeiro, tente o último.
Eu uso o cygwin no Windows XP.
Existe um problema com o Mercurial, por exemplo.
Digamos que eu precise empurrar meu repositório com vários subrepos para o servidor remoto. Esta operação leva cerca de 20 segundos.
Quando eu chamo hg
de cmd.exe
, vejo todas as ações em tempo real:
pushing subrepo ..... to .....
searching for changes
Está tudo bem.
Mas, quando eu chamo do terminal cygwin, eu digito hg push
, pressiono Enter, e não há nada ecoado no console por cerca de 20 segundos, e então todos os logs aparecem imediatamente.
Por que isso e como posso evitar isso?
Eu sei que este é um tópico antigo, mas experimentei esse problema nos últimos três anos. E depois de cerca de um mês, eu estava desmoronando e não aguentava mais. Pode ser um pouco brusco, ou pesado, mas funciona ... e tem trabalhado por 2,75 anos sem problema.
Veja o que impediu que meu laptop acabasse na rua
$ ln -s 'where ping.exe | grep -v rh' /usr/bin/ping.exe
Veja como eu cheguei lá ...
david@Covet ~
$ which ping.exe
/usr/bin/ping.exe
david@Covet ~
$ /usr/bin/ping.exe
Usage: ping [-dfqrv] host [packetsize [count [preload]]]
david@Covet ~
$ where ping.exe
C:\rhcygwin64\bin\ping.exe
C:\Windows\System32\PING.EXE
david@Covet ~
$ mv /usr/bin/ping.exe /usr/bin/cyping.exe
david@Covet ~
$ ln -s 'where ping.exe | grep -v rh' /usr/bin/ping.exe
david@Covet ~
$ which ping
/usr/bin/ping
david@Covet ~
$ ping
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name
Options:
-t Ping the specified host until stopped.
To see statistics and continue - type Control-Break;
To stop - type Control-C.
-a Resolve addresses to hostnames.
-n count Number of echo requests to send.
-l size Send buffer size.
-f Set Don't Fragment flag in packet (IPv4-only).
-i TTL Time To Live.
-v TOS Type Of Service (IPv4-only. This setting has been deprecated
and has no effect on the type of service field in the IP Header).
-r count Record route for count hops (IPv4-only).
-s count Timestamp for count hops (IPv4-only).
-j host-list Loose source route along host-list (IPv4-only).
-k host-list Strict source route along host-list (IPv4-only).
-w timeout Timeout in milliseconds to wait for each reply.
-R Use routing header to test reverse route also (IPv6-only).
-S srcaddr Source address to use.
-4 Force using IPv4.
-6 Force using IPv6.
david@Covet ~
$ ping -t 8.8.8.8
Pinging 8.8.8.8 with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=13ms TTL=54
Reply from 8.8.8.8: bytes=32 time=13ms TTL=54
Reply from 8.8.8.8: bytes=32 time=13ms TTL=54
Reply from 8.8.8.8: bytes=32 time=13ms TTL=54
Reply from 8.8.8.8: bytes=32 time=13ms TTL=54
Reply from 8.8.8.8: bytes=32 time=14ms TTL=54
Reply from 8.8.8.8: bytes=32 time=14ms TTL=54
david@Covet ~
$
Espero que isso ajude alguém, alguém como ele me ajudou.
Eu sei que ao implementar código de linha de comando em C / C ++ esse comportamento pode ser controlado pelo comando fflush () para liberar um buffer de saída, fclose () faria a mesma coisa.
Portanto, depende do programa que você está executando e da frequência com que eles são liberados ().