2016-06-14 6 views
0

私のCIサーバでlazilyコマンドを実行したいのは、(2つの最新のコミットの間で)サブディレクトリに変更があった場合だけです。これはgit diffを使用することが望ましいです。gitを使ってサブディレクトリに変更があった場合にのみコマンドを実行する方法は?

+1

ローカルのgit repoを持っていて、あなたのコードに変更があったかどうかをチェックしたいと思いますか?そしてもしそうなら、あなたはコマンドを実行したいですか?詳細を説明してください。 – cb0

答えて

0

[[ -z "$(git diff --numstat your-sub-folder)" ]] || echo "Changes"

「あなたのサブフォルダ」の内容を比較し、サブシェルでGitの差分を実行し、検出されたすべての変更がある場合の変更をエコーます。

1

トリックを行うには、何らかの種類のファイルシステムウォッチャー(たとえば、inotifywaitなど)を使用できます。

+0

申し訳ありませんが、今質問を明確にしました。 CIがビルドを実行するのはオフラインのシナリオです。サブフォルダ内でファイルが変更されていない場合、いくつかのコマンドをスキップします。 –

+0

デーモンの変形 - incrond/icrondもあります。私は 'inotifywait |読んでいる間に 'ループ。しかし、私は(n)crondはそれをはるかに簡単に行うことができます。 – anishsane

関連する問題