是否可以在某个文件的每次提交中应用subversion自动道具(即使它没有被修改)?
我问的原因是我正在处理一个应用程序,该应用程序在一个源文件中包含一个版本字符串(实际上是一个常量),我想在每次提交时更新,这样修订和日期会自动更新。
该文件大多数时间都没有更改,因为它只包含版本信息!我想要一种方法在每次提交的某个文件上应用svn关键字。
感谢目前为止的答案,但是到目前为止,既没有搜索SE也没有阅读手册对我有帮助。我当前使用的解决方案是包含在存储库中的自定义提交脚本,程序员应该使用它来提交(它只是包装svn提交并更改要更新的文件中的注释中的单个位) 。有没有更好的方法呢?
答案 0 :(得分:1)
在此处阅读或搜索 SVN关键字
答案 1 :(得分:1)
以下是keywords的具体文档。
让我们假设我们在版本控制中已经有文件a
:
test zacharyyoung$ ls -l
-rw-r--r-- 1 zacharyyoung staff 64 Feb 7 20:39 a
我们要将$Rev$
和$Date$
个关键字添加到文件
test zacharyyoung$ echo '$Date$' > test/a
test zacharyyoung$ echo '$Rev$' >> test/a
test zacharyyoung$ cat test/a
$Date$
$Rev$
告诉SVN要查找哪些关键字以进行查找和替换,并提交:
test zacharyyoung$ svn propset svn:keywords "Date Rev" a
property 'svn:keywords' set on 'a'
test zacharyyoung$ svn ci a -m "1. Added keywords."
Sending a
Committed revision 2.
提交a
后,我们检查其内容:
test zacharyyoung$ cat a
$Date: 2012-02-07 20:39:42 -0800 (Tue, 07 Feb 2012) $
$Rev: 2 $
现在,我们将向a
添加另一行,提交并再次检查其内容:
test zacharyyoung$ echo Another line >> a
test zacharyyoung$ svn ci a -m "1. Added another line."
Sending a
Transmitting file data .
Committed revision 3.
test zacharyyoung$ cat a
$Date: 2012-02-07 20:46:11 -0800 (Tue, 07 Feb 2012) $
$Rev: 3 $
Another line