在rugged中比较两个提交

4

我没有找到关于在 rugged 中获取 2 个文件差异的文档。 我使用下面的代码来使用 rugged 提交一个文件。

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

如何在Rugged中查看同一对象的两个提交之间的差异?
1个回答

5
在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

请查看此拉取请求了解有关拟议差异实现和用法的更多信息。


谢谢。我在发布问题后就看到了这篇文章,正在尝试它。 - Ahmad Osama

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接