0

「vendor/assets」ディレクトリのサブモジュール内のいくつかのファイルを別のディレクトリ「public/assets」にコピーしたいと思います。更新フックについて聞いたが、それらがサブモジュールで機能するかどうかはわからない。簡単なフックを作成し、コマンドラインから更新を実行しましたが、機能しませんでした。

私の更新フックは次のようになります。

#.git/gooks/update.rb

#!/usr/bin/env ruby

puts "Copying files..."

それで、これも可能ですか?

ところで、私はサブモジュールを管理するためにブレードを使用しています。

4

1 に答える 1

1

フックは、update誰かが現在のリポジトリにプッシュしたときにのみ実行されますが、これはあなたが望むようには聞こえません。post-commitリポジトリにコミットを作成するたびにこれらのファイルを所定の場所にコピーする場合は、フックを使用できます。(サブモジュールのコミットを変更するときに、メインプロジェクトのサブモジュールの新しいバージョンをコミットする必要があるため、これで十分です。これは、のファイルを更新するための自然なポイントですpublic/assets。)

テストフックが実行されていないと言います。これは、名前が間違っていることが原因である可能性があります。.git/hooks/update更新フックは、 (接尾辞なしのnb )という実行可能ファイルである必要があります.rb。同様に、コミット後のフックはである必要があります.git/hooks/post-commit

フックが実行するアクションはメインプロジェクトに固有であるため、このタスクの特定のサブモジュールにフックを作成しないでください。そのため、サブモジュールの新しいバージョンをコミットしたことによる変更なのか、ランダムなファイルの更新による変更なのかは、実際には問題ではありません。

フックを書くために、あなたは公式のgithooksドキュメントが役に立つと思うでしょう、そしておそらくこれらの追加のヒント

于 2011-09-09T17:34:38.857 に答える