Nếu tôi chạy lệnh git grep
n lần, tôi gặp lỗi khoảng 0.8 * n lần.Có phải git grep buggy - vô hiệu hóa tìm kiếm song song không?
$ 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)
Những gì tôi đã cố gắng
- chạy như superuser để loại trừ bất kỳ vấn đề với bảo vệ tập tin
git fsck
báo cáo không có gì xấu chỉ là một vài lủng lẳng đối tượng- nhân bản repo, không có lỗi về nhân bản, nhưng
git grep
cho thấy cùng một hành vi trong bản sao một lần nữa. - cái nhìn tại một số các SHA1s báo cáo sử dụng
git cat-file
, dường như tất cả tiền phạt - google một chút
Google thú vị nhất đạt được:
http://www.spinics.net/lists/git/msg164520.html
Thông điệp chỉ 3 giờ. Vâng, nếu họ có điều kiện chủng tộc trong git grep
, điều đó có thể giải thích mọi thứ. Vì vậy, họ làm tìm kiếm song song trên một số lõi? (Tôi có 4 ở đây.) Làm thế nào tôi có thể vô hiệu hóa điều đó, ngắn khởi động toàn bộ máy chỉ với 1 lõi?
$ git --version
git version 1.7.3.4
(Đó là những gì đi kèm với OpenSUSE 11.4)
(Hoặc biên dịch bản cập nhật được đề xuất hoặc biên dịch lại Git với NO_PTHREADS được xác định.) –
Cảm ơn, NO_PTHREADS có vẻ hữu ích. Không chắc chắn khi các bản vá trên danh sách gửi thư sẽ xuất hiện trong repo của họ (nếu có). Hiện tại tôi cần tập trung một chút vào công việc của mình và không có ý định chơi bản vá cho các công cụ. –
Dường như bản phát hành sắp tới 1.7.8 sẽ bao gồm bản vá. –