1

git の特定のコミットの影響を受けるファイルのリストが必要です。コマンドラインを使用して、次のように実行できます。

git show --pretty="format:" --name-only (sha)

しかし、Ruby の Grit を使用してこれを行うにはどうすればよいでしょうか?

4

2 に答える 2

1

インスタンスyour_commit.diffsの配列を返すwhichを使用できます。とプロパティがあります。Grit::DiffGrit::Diffa_pathb_path

いくつかの(テストされていない)サンプルコード:

paths = [];
@commit.diffs.each do |diff|
    paths += [diff.a_path, diff.b_path]
end
paths.uniq!
于 2011-02-09T20:43:25.570 に答える
0

Grit の git モジュールは shell out に method_missing を採用しているので、以下を試すこともできます:

grit.git.show({ :pretty => :format, :name_only => true}, sha)

于 2012-04-11T21:41:26.387 に答える