我想在每次提交后将(最高)修订号更新到subversion存储库中的文件。
我想到了一个svn版本的关键字,但是只有在特定文件被更改后才会更新?
即。我有一个文件 version.php ,其中我有版本/修订号,但只在我的提交中更新 anotherfile.php - 这不会更改版本/修订信息 version.php 有。
提交挂钩是我唯一的选择吗?如果是,那么有什么例子吗?
答案 0 :(得分:5)
听起来你想要某种$ GlobalRev $来获取你的文件中的全局修订号。
您可能需要查看的相应工具是svnversion
您可以将其用作提交后挂钩或在构建/部署过程中创建或修改全局版本文件。
另见“$ Global $ Rev $?”在this page
答案 1 :(得分:2)
我们不会在提交时执行此操作,我们会在部署过程中执行此操作。部署将最新代码(或特定修订版)与SVN修订版号一起提取,将版本放在relvent位置(AssemblyInfo,PHP版本文件等),然后将其部署到test / UAT / live / whatever。
答案 2 :(得分:1)
Hook脚本是唯一的选择。您有两个选项可以完成该任务:根据subversion handbook的建议验证version.php是否在预提交脚本中是最新的,或者在帖子中启动另一个提交更新您的版本文件 - 提交脚本。您不应该按照手册中的指示修改挂钩中的提交文件。
答案 3 :(得分:0)
Subversion使用存储库范围的修订版编号系统(请参阅“全局修订号”侧栏here),因此您的文件已被碰撞。