Git grep:即使单词存在于文件中,有时也会出现空结果

时间:2012-04-16 20:12:30

标签: git ubuntu grep response

之前我正在寻找这个,但我找不到它。 使用:Ubuntu 11.10 64位

我想找到一个很久以前的源文件,但找不到它。 所以我用git grep找到它:

git rev-list --all | (
    while read revision; do
        git grep -F 'leaderboard' $revision
    done
)

但结果是空洞的反应!这真的很奇怪,因为'排行榜'实际上是在存储库中,它在当前版本中,但也在旧版本中(在XML文件中):

<query name="leaderboard.getById">

其他搜索会产生结果,例如消息或某些内容可以使用。

2 个答案:

答案 0 :(得分:1)

您的语法会导致shell中出现模糊的重定向。这应该适合你:

git grep -F 'leaderboard' $(git rev-list --all)

答案 1 :(得分:0)

注意:即使使用正确的shell语法,当索引损坏时,答案仍然可以为空。

Git 2.18(2018年第二季度,6年后)现在避免空洞的回答。

&#34; git grep&#34;的错误行为什么时候无法读取索引了 与使用索引的其他命令不一致 早就被纠正错误了。

commit b2aa84cStefan Beller (stefanbeller)(2018年5月15日) (由Junio C Hamano -- gitster --合并于commit 6ac5aca,2018年5月30日)

  

grep:提前处理损坏的索引文件

     

'repo_read_index&#39;的任何其他来电者在负面回归时死去   它,所以grep也应该。