私は持っているSVNリポジトリを持っています
trunk/file1.txt
trunk/file2.txt
trunk/fileR.txt
/var/www/trunk
サーバー上で、ユーザーが所有するトランク()の作業コピーチェックアウトがありますwww-data
。
fileR.txt
ユーザーを除くすべてのユーザーに対して読み取り専用です(またはwww-data
によってアクセスが制限されています)。連結して生成する必要があります:authz
svnlook author
fileR.txt
file1.txt
file2.txt
cat file1.txt file2.txt > fileR.txt
trunk/file1.txt
私が欲しいのは、またはのいずれかにコミットがあるたびtrunk/file2.txt
に、サーバー上の作業コピーを更新し、ファイルを連結して、新しいfileR.txt
ものをリポジトリにコミットするスクリプトを実行する必要があるということです。
私が念頭に置いていたのは、上記のすべてを実行するコミット後のフックでしたが、前のコミットが完了するまで、SVNが新しいコミットを処理できるかどうかとその方法がわかりません。
例:つまり、変更が加えられたcommit1file1.txt
が入り、pre-commitフックが実行され(存在する場合)、トランザクションがデータベースにコミットされてから、post-commitフックが実行されます。post-commitフックは、commit1からのpost-commitフックが実際に終了する前に、ファイナライズする必要があるcommit2を実際に作成します。
SVNはこれを行うことができますか?そうでない場合は、他にどのようなツール/ワークフローを提案しますか?
ありがとう