В ruby /grit, как получить список файлов, измененных в конкретном коммите?
Мне нужен список файлов, на которые влияет определенный коммит в git. Через командную строку я могу сделать это с:
git show --pretty = "format:" - только для имени (ша)
Но как я могу сделать это через Grit в Ruby?
2 ответа
Решение
Ты можешь использовать 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!
Так как модуль Grit Git использует method_missing для оболочки, вы также можете попробовать:
grit.git.show ({: pretty =>: format,: name_only => true}, ша)