2013-06-06 6 views
0
나는 모든 WORKDIR를 저지 할 필요가

와 하위 디렉토리를 추가 할 수 있습니다,하지만 난 할 수는 인덱스에 하위 디렉토리를 추가하는 모든 솔루션을 찾을 수 없습니다. 나는 git_index_add_bypath()와 함께 해봤지만 하위 디렉토리의 트리를 추가 할 것입니다. Qt에 대한 언어 바인딩이 작동하지 않는 것 같아서 Qt와 libgit2를 사용하고 있습니다.어떻게 libgit2

답변

2

당신이 필요에 따라 여러 가지 방법이 있습니다. "commit work dir"은 어느 것이 든 전달하지 않습니다.

추적되는 모든 파일의 버전을 업데이트하려면 색인의 항목을 반복하고 각각에 대해 을 호출 할 수 있습니다. 당신이 수도 있고 계정에 규칙을 무시 먹고 싶어하지 않을 수 있습니다으로

는 아무것도 들어 가지, 어두운 얻을. 일반적인 해결책은 상태 API를 사용하여 변경되거나 추가 된 파일을 확인하고 찾고있는 결과에 따라 색인에 추가합니다 (규칙 무시, 새 파일 추가 또는 삭제, 그렇지 않은 파일 제거). 더 이상 작업 트리에서). 답에 대한

+0

감사합니다. 작업 디렉토리의 파일을 추가하거나 수정할 때 호출 할 수있는 함수를 만들어야합니다. 함수는 인덱스의 모든 새 파일을 추가하고 변경 사항을 커밋해야합니다. git_index_by_path() 작업 디렉토리의 모든 파일에 대한 repo를 업데이트 할 수 있지만 하위 디렉토리의 파일에는 사용할 수 없습니다. 인덱스 트리에 추가되었습니다. 상태 API 들어 시작에 대한 예제를 찾을 수 없습니다. 감사합니다. . – pacix

+0

해당 기능을 사용하는 API 및 테스트를 살펴보십시오. 내가 dirs에 파일을 추가하는 것에 대해 말하는 것을 얻지는 않는다. 다른 어떤 파일도 추가하는 것과 다르지 않다. –

+0

도움을 주셔서 감사합니다. 나는 git_index_add_bypath()로 해결했다. 실제 문제는 git status 명령이 추가되지 않고 삭제 된 것처럼 파일을 표시한다는 것입니다. 이제 git_commit_create_v()를 실행 한 후 대상에 대한 마지막 커밋과 함께 git_reset을 호출하면 모든 것이 잘 동작합니다. 시간 내 줘서 고마워. – pacix