2014-06-20 4 views
1

최근에 나는 this questionthis question을 보았습니다. 그 대답은 git archive을 사용하여 원격 git 저장소에서 하나의 파일을 검색 할 수 있다고합니다. 이것은 훌륭합니다. LibGit2Sharp를 사용하여 해당 기능을 에뮬레이션 할 수 있기를 바랍니다.git archive with LibGit2Sharp

나는 the source code을 보았지만 실제로 보관하는 것은 아무것도 없습니다. ArchiverBase 클래스가 있지만이 클래스는 파생 된 것일뿐입니다.이 클래스에서 파생 된 내용은 볼 수 없습니다. ObjectDatabase에는 ArchiverBase 매개 변수를 사용하는 Archive() 메서드가 있지만 실제로 ArchiverBase 메서드 중 어느 것도 구현되지 않습니다. ArchiverBase을 파생시키고 메소드를 직접 덮어 써야합니까? 나는 어떻게 그것에 대해 갈 것인가? 다른 수업에서 이미 끝났습니까?

간단히 말해 LibGit2Sharp를 사용하여 git archive을 에뮬레이트하면 연결된 질문에 설명 된대로 단일 파일을 검색 할 수 있습니까?

+1

'TarArchiver'에서 tar에 대한 구체적인 구현이 있지만 원격 저장소, 로컬 저장소 만 지정할 수는 없습니다. –

+0

@ EdwardThomson 내가 답을 쓸 수 있도록 그 주석을 답안으로 홍보 해 주시겠습니까? ; p – nulltoken

+0

@wlyles 에드의 권리. 현재로서는 보관 기능을 통해 LibGit2Sharp를 통해이 작업을 수행 할 수 없습니다. 저장소를 Clone()해야합니다. – nulltoken

답변

1

LibGit2Sharp에서 구체적인 아카이버 구현 인 TarArchiver이 발생합니다. 그러면 로컬 Git 저장소의 tar 아카이브가 생성됩니다. 그러나 리포지토리에 대해서만 작동하며 원격 종단점에서는 작동하지 않으므로 git archive과 같은 단일 파일을 검색하는 것은 적합하지 않습니다.

LibGit2Sharp에는 사용자가 원하는 것을 할 수있는 방법이 없습니다. 하나의 파일을 검색하기 위해 하나의 파일

  • 사용하여 힘내 호스팅 제공 업체 (GitHub의 또는 팀 파운데이션 서버의 REST API에 대한 OctoKit)에서 제공하는 API를 체크 아웃,

    1. 복제 저장소 : 귀하의 옵션에 있습니다 .
    2. git-archive 자신을 실행하십시오.