문제

누군가를 만드는 방법을 알 commit 를 사용하여 루비는 바인딩(는'거친'보석)에 대한 libgit2?가 예를 찾을 수 있습니다,에 libgit2 용 안내과 견고한 보석 github 페이지 없음의 exampes 를 만들거나 편집 commit 노력하고 있습니다.

이 도움이되었습니다려고 노력하는 방법을 알아낼 commit 지금까지를 제외하고,그것을 위해 libgit2 이 있습니다.. http://librelist.com/browser//libgit2/2011/2/19/initing-a-repository-adding-files-to-the-index-and-committing/#d94ce8df18ff0202ce904180286a4a85

하려고 할 때고 commit,다음의 단계를 거친 Github 페이지,나는 이;

pry(main)> Rugged::Commit.create( repo, :author=>author, :message=>"Hello world\n\n", :committer=>author, :parents=>parents, :tree=>tree )
TypeError: wrong argument type nil (expected String)

그 때 나를 따라하려고 libgit2 사용 가이드,기본적으로 말을 얻을 투입하고 다음 단지를 사용하여 편집 commit.message= 다음과 같은 명령하지만,다음 얻을 noMethodErrors 이 없기 때문에'메시지='방법입니다.

libgit2 사용 가이드: http://libgit2.github.com/api.html
견고한 문서 0: http://rubydoc.info/gems/rugged/0.16.0/frames
견고한 Github 페이지: https://github.com/libgit2/rugged

편집:나는 어떻게 재현 이; http://pastebin.com/wnta8FWm
Edit_n+1:도를 사용하 sha 의 나무는 대신 견고한::나무 개체에 의해,노

x=Rugged::Commit.create( repo, :author=>author, :message=>"Hello world\n\n", :committer=>author, :parents=>parents, :tree=>tree.oid )

하지만 단지 생산되는 정확한 같은 오류로 출력하기 전에.

도움이 되었습니까?

해결책 2

TL;DR---이 고정된 그것이 나를 위해: gem install --prerelease rugged

후에 파고 많은 실험,내 생각을 알아 냈어요 문제입니다.

았을 때 gem install rugged 그것은 나에게 버전 0.16.0.이 버전을 나가는 데 문제가 있었으로,그리고 가려고 했는 테스트와 함께 제공되는 보석이 많은 테스트를 못했고 많은 사람들의는 실패했을 것 같았 관련 커밋하고 쓰기가한다.

이 Rubygems 페이지에 대한 견고한 보석가 있음을 보여줍니다 0.17.0.b6 버전을 사용할 수 있지만,이는 나를 혼동했기 때문에 발생하지 않는'--시험판에 대한 옵션' gem.해당 버전이어야 합 출시하기 때문에 일 후에 gem install --prerelease rugged 버전 0.17.0.b6 설치되었(뿐만 아니라).

지금 0.17.0.b6 나를 따를 수 있 문서없이 문제입니다.

하나의 추가 주는 설명서를 읽었 언급하지 않는다 그러나의 소스 코드 ext/rugged_commit.c 는 의견을 언급 :update_ref=>'' 옵션을 만들 때 commit 하는 데 사용할 수 있는 업데이트를 참조하여 새로운다.이 옵션을 사용하지 않 commit 가 만들어지고 작성하 ODB 지만,없는 참조를 업데이트됩니다 그래서 commit 지에서 액세스할 수 있의 가지입니다.

다른 팁

Rugged::Commit.create(repo, data)는 ReadMe에있는 것이 아닙니다.어떤 코드를 실행하고 있습니까?그것은 당신이 필요한 필드를 놓치는 것처럼 보입니다.어떤 분야를 채우고 어떻게 작성합니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top