2016-06-08 4 views
0

현재 진행중인 프로젝트에서 libgit2를 사용하려고합니다. 순간 가, 난 그냥 git_repository_init를 사용하여 REPO를 만들기 위해 노력하고 있지만, 다음과 같은 오류 메시지와 함께 실패 다음에libgit2 : repo 생성시 경로를 확인하지 못했습니다.

#include <iostream> 
#include "git2.h" 

int main(int argc, char *argv[]) 
{ 
    git_libgit2_init(); 

    git_repository *repo; 
    git_repository_init_options opts = GIT_REPOSITORY_INIT_OPTIONS_INIT; 
    opts.flags |= GIT_REPOSITORY_INIT_MKDIR; 
    int err = git_repository_init_ext(&repo, "D:/Workspace/<project_name>/test", &opts); 
    if(err < 0) 
    { 
     const git_error *e = giterr_last(); 
     std::cerr << "Error: " << err << "/" << e->klass << ": " << e->message << std::endl; 
    } 

    git_repository_free(repo); 

    git_libgit2_shutdown(); 

    return 0; 
} 

.git 디렉토리 :

Error: -1/2: Failed to resolve path 'D:/Workspace/<project_name>/test/.git/': Invalid argument 

코드는 다음입니다 테스트 디렉토리는 생성되었지만 비어 있습니다. 나는 상대 경로와 절대 경로 및 Unix와 windows 경로로 시도했지만 결과는 항상 동일하게 보입니다.

또한 libgit2_clar를 실행할 때 많은 테스트가 항상 같은 오류로 실패합니다. "오류 -1 - 경로 'attr'을 (를) 해결할 수 없습니다 : 잘못된 인수입니다. '

libgit2 그리고 이전 코드는 MinGW와 gcc 4.8.1을 사용하여 Windows XP 32 비트에서 컴파일되고 실행되었습니다. 그것이 포함하고 있기 때문에

답변

1

Windows XP는 libgit2에서 지원되지 않습니다. 지원 v0.21.0 in 2014에 종료 :

최고 수준의 향상

  • 우리는 윈도우 XP에 대한 지원을 중단했습니다. 우리는 그렇게 악합니다.
0

git_repository_init_extrepo_path 매개 변수는 문자 '<' '>'불법입니다. 위의 문자로 새 디렉토리를 만들려고하면 오류 메시지가 나타납니다.

+0

이 (가) 있습니다. 제가 작업중인 프로젝트의 이름을 공개 할 필요가 없습니다. 실명에는 합법적 인 영숫자 문자 만 포함됩니다. – Maeln