gitで特定のコミットの影響を受けるファイルのリストが必要です。ルビー/グリットでは、特定のコミットで変更されたファイルのリストを取得するにはどうすればよいですか?
Gitのショー--pretty =「フォーマット:」コマンドラインから、私はこれを行うことができます--name-のみ(SHA)
しかし、どのように私はRubyでグリットを介してこれを行うことができますか?
gitで特定のコミットの影響を受けるファイルのリストが必要です。ルビー/グリットでは、特定のコミットで変更されたファイルのリストを取得するにはどうすればよいですか?
Gitのショー--pretty =「フォーマット:」コマンドラインから、私はこれを行うことができます--name-のみ(SHA)
しかし、どのように私はRubyでグリットを介してこれを行うことができますか?
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!
グリットのgitのモジュールが殻から取り出すためにmethod_missingを採用しているので、あなたも試すことができます。
grit.git.show({:かわいい=>:フォーマットを、:name_only => true}、sha)
このトリックはありました。本当にありがとう! – tim