比较2个坚固的提交

时间:2013-01-17 18:50:30

标签: git libgit2 rugged

我没有找到任何关于在坚固的情况下区分2个文件的文档。 我使用下面的代码使用粗糙的

提交文件
@repo=Rugged::Repository.new($reponame)
@sha=@repo.write('D:\Ruby\MyGitRepo\file1.txt','blob')
puts @sha
commit = @repo.lookup(@sha)

怎么能看到坚固的同一个对象的2个提交之间的区别?

1 个答案:

答案 0 :(得分:4)

比较git中两个提交的方法依赖于一个差异化过程。

brianmario 最近包含了 libgit2 的差异迭代器功能。请注意,此功能未合并尚未

以下是未来使用的高级示例。

r = Rugged::Repository.new('.')
diff = r.diff(commit1, commit2)

diff.deltas.each do |delta|
  # ...
  delta.hunks.each do |hunk|
    # ...
    hunk.lines.each do |line|
      # ...
    end
  end
end

有关建议的差异实施和使用的详情,请参阅此 pull request