我有一个项目,我想自动嵌入修订号。
在这种情况下,它是一个多文件perl脚本。在主文件中,我有一行如下所示:
my $ revision ='$ Revision:24 $';
当我发布时,我会将项目签出到我的发布目录。
每当我签入对该文件的更改时,修订号都会发生变化。 $ Revision $属性在办理登机手续时更新,但不会退房。
问题是,主文件经常不会改变,所以即使项目中的其他文件现在为27,主要文件仍然有24个。
有没有办法可以让主文件反映最新的转速? svn在结账时打印出来的那个,即“Checked out revision 27。”
答案 0 :(得分:2)
它类似于CVS,您可以使用$ Revision $,您只需要为该文件设置关键字属性,以便SVN知道它应该进行关键字替换。
从手册:
“如果没有在该文件上设置svn:keywords属性,Subversion将不会做任何特别的事情。现在, 让我们启用LastChangedDate关键字的替换。 $ svn propset svn:keywords“Date Author”weather.txt property'svn:keywords'set on'weather.txt' $ “
答案 1 :(得分:1)
if (! -e '.version')
{
open VERSION, '>.version';
print VERSION `svnversion -n | cut -f1 -d:`;
close VERSION;
}
my $revision = '$Revision: ' . `cat .version` . ' $';
(注意:如果按原样使用此代码,小狗将会死亡)