如何获取 PHP 中的 Subversion 修订版号?
我想用它使用的修订版号标记我的PHP应用程序,但我不想使用CruiseControl或更新文件并每次都上传它。我该怎么做?
我想用它使用的修订版号标记我的PHP应用程序,但我不想使用CruiseControl或更新文件并每次都上传它。我该怎么做?
SVN关键字不是一个好的解决方案。正如其他人指出的那样,在文件中添加$Revision$只会影响特定文件,并且可能不会在很长一段时间内更改。
记住在每次提交之前“编辑”文件(通过添加或删除空行)是毫无意义的。您也可以手动键入修订版。
一个好的方法(据我所知)是有一个自动化的部署过程(这总是一件好事)并使用命令svnversion。以下是我的工作:
无论我需要修订的地方,我都会包括:.此“版本.php”文件只有修订版号。此外,它不是存储库的一部分(它设置为被忽略)。以下是我创建它的方式:<?php include 'version.php'; ?>
1)在服务器上安装了SVN的项目上,我也使用它进行部署。将最新版本发送到服务器,我有一个脚本,除其他事项外,它还执行以下操作(它在服务器上运行):
cd /var/www/project
svn update
rm version.php
svnversion > version.php
2)在未安装SVN的项目中,我的部署脚本更复杂:它在本地创建版本.php文件,压缩代码,上传并提取它
假设您的 webroot 是 subversion 树的签出副本,您可以解析 /.svn/entries 文件并挂出修订版号(此处为第 4 行)...
在 PHP 中:
$svn = File('.svn/entries');
$svnrev = $svn[3];
unset($svn);