Se eseguo il comando git grep
n volte, ottengo errori circa 0,8 * n volte.git grep buggy - disabilita la ricerca parallela?
$ 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)
Quello che ho provato
- corsa come superutente per escludere eventuali problemi con le protezioni di file
git fsck
rapporti nulla di male solo un paio di oggetti pendenti- clonato il repo, nessun errore su clonazione, ma
git grep
mostra di nuovo lo stesso comportamento nel clone. - sguardo ad alcune delle SHA1s riportati utilizzando
git cat-file
, sembrano essere tutti bene - Googled un po
Il più interessante di Google ha colpito è stato:
http://www.spinics.net/lists/git/msg164520.html
Il messaggio era solo 3 ore di età. Bene, se hanno condizioni di gara nel git grep
, questo potrebbe spiegare tutto. Quindi fanno ricerche in parallelo su diversi core? (Ne ho 4 qui.) Come potrei disattivarlo, a meno dell'avvio dell'intera macchina con solo 1 core?
$ git --version
git version 1.7.3.4
(Questo è quello che è venuto con OpenSUSE 11.4)
(Oppure compilare l'aggiornamento proposto o ricompilare Git con NO_PTHREADS definito.) –
Grazie, NO_PTHREADS sembra utile. Non sono sicuro quando la patch sulla mailing list apparirà nel loro repository (se non del tutto). Attualmente ho bisogno di concentrarmi un po 'sul mio lavoro e non ho intenzione di giocare con le patch per gli strumenti. –
Sembra che la prossima versione 1.7.8 includa la patch. –