我有一个 SVN 存储库
trunk/file1.txt
trunk/file2.txt
trunk/fileR.txt
在服务器上,我有一个/var/www/trunk
由 user 拥有的 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
or上提交时,都trunk/file2.txt
应该运行一个脚本来更新服务器上的工作副本,连接文件并将新文件提交fileR.txt
到存储库。
我想到的是一个 post-commit 钩子,它可以完成上述所有操作,但我不确定 SVN 是否以及如何处理新提交,直到前一个提交完成。
示例:因此,commit1file1.txt
进入,预提交挂钩运行(如果有),事务提交到数据库,然后提交后挂钩运行。post-commit 钩子实际上创建了一个 commit2,它需要在来自 commit1 的 post-commit 钩子实际完成之前完成。
SVN 有能力做到这一点吗?如果没有,您建议使用哪些其他工具/工作流程?
谢谢