2011-08-31 2 views
6

git grep 명령을 n 번 실행하면 약 0.8 * n 번 오류가 발생합니다. 나는 나쁜 아무것도 그냥 매달려의 몇 git grep buggy - 병렬 검색을 비활성화 하시겠습니까?

  • 가 REPO, 아니 오류가 복제 된 개체를하지
  • git fsck 보고서 파일 보호와 함께 문제를 제외 수퍼 유저로

    1. 실행을 시도했습니다 무엇

      $ 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) 
      

      복제시에는 git grep이 복제본에서 동일한 동작을 다시 나타냅니다.

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

      메시지는 단지였다 git cat-file를 사용하여보고 SHA1s의 일부에서

    2. 보면, 가장 흥미로운 구글 명중 조금

    했다 구글에서 모두 잘

  • 것 같다 3 시간. 글쎄요, 경쟁 조건이 git grep이라면 모든 것을 설명 할 수 있습니다. 그렇다면 여러 코어에서 동시에 검색을 수행합니까? (저는 4 개가 있습니다.) 어떻게하면 1 개 코어만으로 전체 시스템을 부팅 할 수 없게 할 수 있습니까?

    $ git --version 
    git version 1.7.3.4 
    

    는 제안 된 패치 자식을 컴파일,

  • +0

    (또는 제안 된 업데이트를 컴파일하거나 NO_PTHREADS가 정의 된 Git을 다시 컴파일하십시오.) –

    +0

    감사합니다. NO_PTHREADS 소리가 유용합니다. 메일 링리스트의 패치가 언제 repo에 나타날지 확신하지 못합니다 (있는 경우). 현재 작업에 조금 집중해야하고 도구에 대한 패치를 가지고 놀려고하지 않았습니다. –

    +0

    곧 출시 될 1.7.8 버전에 패치가 포함될 것으로 보입니다. –

    답변

    0

    당신이 할 수있는 경우 인종 문제를 해결하는 것 (즉 오픈 수세 11.4와 함께 제공되는 기능). 병렬 처리를 비활성화 할 방법이없는 것 같습니다.

    +0

    조쉬 리 (Josh Lee)가 언급 한 컴파일 중 -DNO_PTHREADS를 사용하여 병렬 처리를 비활성화 할 수 있습니다. 나는이 플래그가 추가 된 배포판 (git-1.7.3.4)에서 소스 패키지를 컴파일하기 만하면되었다. 패치를 시험 할 시간이 없었습니다. –

    1

    그것은 자식-그렙에서 스레드를 비활성화합니다 다음 조건 중 하나 다음과 같습니다

    • -O는 호출기에 일치하는 파일을 열 주어진다.
    • NO_PTHREADS은 컴파일시 정의됩니다.
    • -p은 함수 이름을 컨텍스트로 표시합니다.

    이 중 마지막 하나가 워크 플로에 방해가되지 않기를 바랍니다.

    +1

    답변 해 주셔서 감사합니다. 옵션 1이 전혀 작동하지 않습니다. -O는 작업 영역 검색에만 허용됩니다. 옵션 2가 작동합니다. 옵션 3은 작동하지만 다소 방해가됩니다 (추가 출력은 해석하기 어렵습니다). –

    관련 문제