I have an SVN repository that has
trunk/file1.txt
trunk/file2.txt
trunk/fileR.txt
On the server, I have a working copy checkout of trunk ( /var/www/trunk
) owned by user www-data
.
fileR.txt
is read only for everyone except the user www-data
(access restricted by authz
or svnlook author
). fileR.txt
should be generated by concatentating file1.txt
and file2.txt
: cat file1.txt file2.txt > fileR.txt
What I want is that every time there is a commit on either trunk/file1.txt
or trunk/file2.txt
, a script should be run that updates the working copy on the server, concatenates the files and commits the new fileR.txt
to the repository.
What I had in mind was a post-commit hook that does all of the above, but I am not sure if and how SVN can handle a new commit until the previous commit has been finalized.
Example: So, commit1 with changes to file1.txt
comes in, pre-commit hook runs (if any), transaction is committed to the database and then the post-commit hook runs. The post-commit hook actually creates a commit2 that needs to finalize before the post-commit hook from commit1 will actually finish.
Is SVN capable of doing this? If not, what other tools / workflows do you suggest?
Thanks