我没有找到任何关于在坚固的情况下区分2个文件的文档。 我使用下面的代码使用粗糙的
提交文件@repo=Rugged::Repository.new($reponame)
@sha=@repo.write('D:\Ruby\MyGitRepo\file1.txt','blob')
puts @sha
commit = @repo.lookup(@sha)
怎么能看到坚固的同一个对象的2个提交之间的区别?
答案 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 。