Grit commit_diff显示反向差异

时间:2012-03-23 14:52:05

标签: ruby git grit

我正在尝试做一件非常简单的事情:通过ruby gem Grit从git repo中读取差异。我正在创建一个文件并添加“这是我更改第一个文件”这一行。现在我这样做以获得差异:

r = Grit::Repo.new("myrepo")
c = r.commits.first
d = r.commit_diff(c.id).first
puts d.first.diff

这个输出是:

--- a/First-File.asciidoc
+++ b/First-File.asciidoc
@@ -1,2 +1 @@
-This is me changing the first file

在添加的行前看到减号?为什么commit_diff反向显示?我知道如果我反转提交shas,git会反转差异,但这是一个Grit库调用,它只提供提交差异吗?

任何线索?

1 个答案:

答案 0 :(得分:0)

让我回答这个问题。如果您执行此操作,则提交将以正确的形式显示:

r = Grit::Repo.new("myrepo")
c = r.commits.first
d = c.diffs.first
puts d.first.diff

不确定Commit.diff和Repo.commit_diff之间有什么区别。