2010-05-24 84 views
3

它似乎插入更少的空行,越接近我鍵入命令到終端窗口的底部。如果我在終端窗口的頂部鍵入它,它會插入空白線的幾乎整個窗口高度;如果我在最底部鍵入它,則不會插入空行。msysGit:爲什麼git log輸出空行?

看起來好像尋呼機程序將輸出推送到終端窗口的底部,但我希望輸出正好在我的命令之下或在頂部,就像在Linux git中一樣。

我可以通過使用git --no-pager log得到預期的行爲,但是如果我想使用尋呼機呢?

+0

莫非只是在窗戶尋呼機或終端的神器? (尋呼機肯定是被調用的,對嗎?) – Cascabel 2010-05-24 18:18:42

+0

據我所知,是的。如果我使用--no-pager,輸出是不同的。 msysGit在bin \文件夾中有一個less.exe,但它似乎與Linux版本的less不同(如果這是被調用的尋呼機)。 – 2010-05-24 18:35:25

回答

3

只是爲了增加一些元素:

msysgit已經在issue 29回到一年前討論替代遊戲機(2009年中:mintty,但僅適用於cygwin,capturing window I/O)。

issue 369提到選項「git config pager.log off」以禁用「log」的分頁,這對於某些類似於OP提到的場景可以派上用場。

類似的問題正在討論,現在(2010年5月)在issue 484(不是別人SO user kusma,他在評論中指出;))

我可以重現這一點,但我不認爲這是git本身的問題。這是 傳呼機;在msys上少了一些嚴重的問題。用更少的顯示, 罪魁禍首一些實驗似乎是-R標誌:

$ git --no-pager diff --color=always HEAD~1 TestSegmentedText.java | less -R 
+0

謝謝你的引用;) 無論如何,是的。在這種情況下,如果更少的-R也是罪魁禍首,那麼確實值得檢查。如果是這樣,我們希望儘快修復'devel'。 – kusma 2010-05-25 16:47:54

+0

@kusma:你好Kusma!我沒有意識到你也是SO用戶:)我編輯了答案以添加正確的歸屬。 – VonC 2010-05-25 17:30:29

1

這就是尋呼機的行爲。默認情況下,Git輸出通過一個紙張傳送,該紙張的行爲與您描述的方式相同。 (你可以嘗試找到另一個尋呼機像你想要的行爲,並使用它作爲您的尋呼機代替。)

+0

在Linux中似乎並不是這樣的情況 - 例如,我可以使用'git log --grep = ...'和一個只匹配一個提交的模式,它似乎可以調用尋呼機(我得到(END)並且必須按q),但不消耗整個終端。說實話,實際上並不確定它是如何工作的。 – Cascabel 2010-05-24 18:22:08