それは、ncursesを(一般的に引き継ぐのncursesを使用するプログラムを使用していません画面全体)。
strace -p -o git-gc.strace git gc
を実行
は進行メッセージを標準エラー出力(ファイルディスクリプタ2)に書かれていることを示している - しかし、標準エラー出力がttyでない場合、彼らは無効になります。あなたは
git gc 2>some_file
を実行する場合git gc
が全く進行状況メッセージを生成しないので、それではsome_file
は、空になります。
ソースコード(builtin/gc.c
)を見ると、--quiet
コマンドラインオプションで設定されていますquiet
オプションがあります:
git gc --quiet
は、私は標準エラー出力がある場合にquiet
をオンコードを発見していませんないttyのが、私のような、Gitのソースの他の場所で同様のコードを参照してください。
quiet = !isatty(2);
をオンにするコマンドラインオプションはありませんオプションオフ。
git gc
の進捗状況をキャプチャする場合は、stderrをttyに向けて実行していることを確認する必要があります。
some guy's answerがこれを行う方法の1つを提供します。
しかし、コードは端末に書き込んでいる場合にのみ進捗メッセージを生成するため、実際にメッセージをキャプチャする必要があるかどうかを検討することがあります。彼らは救われるようには設計されておらず、それほど有用ではないかもしれません。
あなたはgitのソースを自分で調べて(そして、あなたは十分にやる気なら、書き込まれるように進行メッセージを強制するためにそれらをハック)する場合:
git clone git://git.kernel.org/pub/scm/git/git.git