我正在尝试做一件非常简单的事情:通过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库调用,它只提供提交差异吗?
任何线索?
答案 0 :(得分:0)
让我回答这个问题。如果您执行此操作,则提交将以正确的形式显示:
r = Grit::Repo.new("myrepo")
c = r.commits.first
d = c.diffs.first
puts d.first.diff
不确定Commit.diff和Repo.commit_diff之间有什么区别。