是git grep buggy - 禁用并行搜索?

Uwe*_*der 6 git

如果我运行git grep命令n次,我会得到大约0.8*n次的错误.

$ git grep foo_bar_search `git rev-list HEAD` -- dir/subdir >/dev/null
fatal: unable to read tree (bc9e3369c6d6f027075e794fa11db02af3f8fb38)
$ git grep foo_bar_search `git rev-list HEAD` -- dir/subdir >/dev/null
fatal: unable to read tree (473a47dd3895b1db09baf4cf9463f4cbd224d5dd)
$ git grep foo_bar_search `git rev-list HEAD` -- dir/subdir >/dev/null
$ git grep foo_bar_search `git rev-list HEAD` -- dir/subdir >/dev/null
fatal: unable to read tree (b917adbfffd1928c8f6ac0f746a4fdfcf2088029)
$ git grep foo_bar_search `git rev-list HEAD` -- dir/subdir >/dev/null
fatal: unable to read tree (473a47dd3895b1db09baf4cf9463f4cbd224d5dd)
Run Code Online (Sandbox Code Playgroud)

我试过的

  1. 以超级用户身份运行以排除文件保护方面的任何问题
  2. git fsck 报告没有什么不好只是几个悬空的物体
  3. 克隆了repo,没有克隆错误,但git grep再次在克隆中显示相同的行为.
  4. 看看一些报道的SHA1使用git cat-file,似乎一切都很好
  5. 谷歌搜索了一下

谷歌最受欢迎的是:

http://www.spinics.net/lists/git/msg164520.html

消息只有3个小时.好吧,如果他们有竞争条件git grep,这可以解释一切.那么他们是否会在多个内核上并行搜索?(我这里有4个.)我怎么能禁用它,只用1个内核启动整个机器?

$ git --version
git version 1.7.3.4
Run Code Online (Sandbox Code Playgroud)

(这就是OpenSUSE 11.4附带的)

hol*_*eek 0

如果可以的话,使用建议的补丁编译 git 似乎可以解决竞争问题。似乎没有办法禁用并行化。