每次提交时,如何让我的SVN修订号出现在我的网站上?
答案 0 :(得分:3)
您必须在要跟踪其修订版本的文件中使用$Revision$
之类的内容(例如foo.html
),并告诉Svn在文件中跟踪并替换该关键字,即:
svn propset svn:keywords "Revision" foo.html
然后,当文件发生变化时,Svn会将该表达式更改为$Revision: 23
或任何修订版号。 (当然,您也可以在其他文件中执行此操作,但是 - 根据您构建网站的方式 - 您必须从每个感兴趣的文件中获取信息并将其添加到您正在显示的页面,例如通过模板或其他)。
答案 1 :(得分:3)
看起来他们将其嵌入页面中(本页的“查看源代码”):
<div id="svnrev">svn revision: 4999</div>
我可以通过查看存储库的日志来在Windows上使用Tortoise来获取它。你没有说你正在使用什么操作系统,或者它是否是你的命令shell访问。
检查SVN Red Bean book以获取所需命令。
答案 2 :(得分:2)
基本上你需要在命令行上执行svn info
然后解析输出(所以在服务器上发生这种情况)。例如,请参阅此blog entry
svn info的输出如下所示:
Path: .
URL: http://continuum.td.foo.com/svn/EngTools/Atom/trunk/aimv-test-daemon
Repository Root: http://continuum.td.foo.com/svn
Repository UUID: 69079f5b-ed1a-0410-902f-f9949c1bbd36
Revision: 107090
Node Kind: directory
Schedule: normal
Last Changed Author: johndoe
Last Changed Rev: 107006
Last Changed Date: 2009-07-09 15:21:17 -0700 (Thu, 09 Jul 2009)
假设您不想运行守护程序或执行程序,您只需在更新构建svn info > svnbuild.info
并将其解析后将内容转储到某个已知文件
答案 3 :(得分:0)
在这里假设PHP,但您可以使用任何服务器端语言轻松完成此操作。
<?PHP
$revString = '$Revision$'; // Subversion will substitute something like $Revision: <number> $
$revNum = magic($revString); // magic parses the integer number out of the string.
echo "Subversion revision: $revNum";
答案 4 :(得分:0)
假设Java和Ant,您可以使用任务查询存储库并将信息存储到某些Ant属性中。这不仅可以获得修订号,还可以获得标记/分支名称。