5

特定の条件下で、レポジトリ自体のバージョン ファイルの更新を担当する post-receive フックが必要です。したがって、レポジトリにファイル version.txt があるとすると、post receive フックで version.txt 内のバージョン文字列を更新する必要があります。

それは、レポへの別のプッシュを意味します。これは可能ですか?

ありがとう!

4

2 に答える 2

3

サーバー上にリポジトリの作業ディレクトリを作成できます。受信後、作業ディレクトリで git pull し、必要に応じて version.txt を更新し、コミットしてプッシュします。これにより、受信後がもう一度トリガーされるため、条件付き更新の実行方法に注意してください。そうしないと、サイクルが発生します。

#!/bin/sh
unset GIT_DIR
cd /path/to/repo.wd
git pull
echo "new content" > version.txt
git add version.txt
git commit -m "updating version.txt"
git push origin master
于 2011-05-09T18:32:44.157 に答える
2

それ以上のコミット/プッシュを試みるのではなく、チェックアウト/更新時にフィルタードライバーを順番に使用して、そのファイルの適切なコンテンツを生成できるようにしversion.txtます(つまり、適切なバージョン文字列を内部に含む)

ここに画像の説明を入力

smudgeスクリプトは、ファイルの内容を認識できる場合(version.txtつまり、そのファイルの名前/パスをパラメーターとして持たない場合)、そのファイルのテンプレート セクションを正しい情報に置き換えます。

于 2011-05-09T18:29:25.907 に答える