자식 배열에서 디렉터리 배열을 제거하고 제거 된 각 디렉터리에 대해 1 커밋을 시도합니다. 저는 Rugged와 Gitlab_git (Rugged를 둘러싼 다소 포괄적 인 래퍼)를 사용하고 있으며, 지금까지는 실제로 삭제와 커밋을 제외한 모든 작업을 수행했습니다.트리 제거 및 튼튼한 커밋
전체 트리/디렉토리를 제거하는 방법을 설명하는 Rugged Readme에는 아무것도 표시되지 않습니다. 블롭에 대한 커밋 예제를 사용하고 단일 파일을 디렉토리로 대체하려고 시도했지만 작동하지 않았습니다.
트리 빌더에 대한 코드 편집도 시도했지만 내역에 커밋을 추가하여 을 표시했습니다. 모든 파일이 레포에 추가 된 다음 동일한 작업을 보여주는 스테이징이 남아 있습니다. 아무것도 삭제되지 않았습니다.
oid = repo.write("Removing folder", :blob)
builder = Rugged::Tree::Builder.new(repo)
builder << { :type => :blob, :name => "_delete", :oid => oid, :filemode => 0100644 }
options = {}
options[:tree] = builder.write
options[:author] = { :email => "[email protected]", :name => 'Test Author', :time => Time.now }
options[:committer] = { :email => "te[email protected]", :name => 'Test Author', :time => Time.now }
options[:message] ||= "Making a commit via Rugged!"
options[:parents] = repo.empty? ? [] : [ repo.head.target ].compact
options[:update_ref] = 'HEAD'
Rugged::Commit.create(repo, options)
의견이 있으십니까? Im은 내부적으로 약간 퍼지기 때문에 내 문제가 될 수 있습니다.
시도하셨습니까? http://www.rubydoc.info/github/libgit2/rugged/Rugged/Index#remove_dir-instance_method? –