我想要一个受git中某个提交影响的文件列表。通过命令行,我可以这样做:
git show --pretty =“format:” - name-only(sha)
但是我怎么能通过Ruby中的Grit来做到这一点?
答案 0 :(得分:1)
您可以使用your_commit.diffs
返回Grit::Diff
个实例的数组。 Grit::Diff
具有a_path
和b_path
属性。
一些(未经测试的)示例代码:
paths = [];
@commit.diffs.each do |diff|
paths += [diff.a_path, diff.b_path]
end
paths.uniq!
答案 1 :(得分:0)
由于Grit的git模块使用method_missing来shell,你也可以尝试:
grit.git.show({:pretty =>:format,:name_only => true},sha)