2

我有一个项目,我想自动将修订号嵌入其中。

在这种情况下,它是一个多文件 perl 脚本。在主文件中,我有一行如下所示:

我的 $revision = '$Revision: 24 $';

当我发布时,我将项目签出到我的发布目录。

每当我签入对该文件的更改时,修订号确实会更改。$Revision$ 属性在签入时更新,但不在签出时更新。

问题是,主文件不会经常更改,所以即使项目中的其他文件现在是 27,主文件仍然有 24。

有没有办法让主文件反映最新的转速?svn 在结帐结束时打印出来的那个,即“Checked out revision 27”。

4

2 回答 2

2

它类似于 CVS,您可以使用 $Revision$,您只需为该文件设置关键字属性,以便 SVN 知道它应该进行关键字替换。

从手册:

“在该文件上没有设置 svn:keywords 属性,Subversion 不会做任何特别的事情。现在,让我们启用 LastChangedDate 关键字的替换。$ svn propset svn:keywords "Date Author" weather.txt property 'svn:keywords' set on '天气.txt' $ "

http://svnbook.red-bean.com/en/1.5/svn-book.pdf

于 2009-03-06T22:36:30.367 回答
1
if (! -e '.version')
{
    open VERSION, '>.version';
    print VERSION `svnversion -n | cut -f1 -d:`;
    close VERSION;
}

my $revision = '$Revision: ' . `cat .version` . ' $';

注意:如果您按原样使用此代码,小狗会死)

于 2009-03-06T22:34:41.480 回答