我正在开发一个项目,我们正在积极使用subversion生成的$Id$
字符串来编写文档中的版本号。例如,我们解析此字符串
$Id: filename 999 2009-02-23 22:51:29Z author $
并在文档标题页中打印“999”。
但是,在提交之后,不时地删除信息,我们只剩下
$Id$
这显然会破坏一些事情。有谁知道为什么会发生这种情况?
好的,明显的答案是正确的;不再为该文件设置svn:keywords
。但我发誓他们曾经是!知道如何/为什么svn:keywords
会从文件中清除而没有人注意到/有意做任何事情?
答案 0 :(得分:11)
可能无法在该文件上正确设置svn:keywords属性。您需要将其设置为(至少)'Id':
svn ps svn:keywords 'Id' filename.txt
答案 1 :(得分:7)
确保您的文件是UTF-8而不是Unicode。由于SVN认为这些不是文本文件,因此Unicode不会扩展...我使用记事本另存为UTF-8来解决问题
答案 2 :(得分:2)
如果定义了'svn:keywords'属性,则仅在结帐时展开关键字。使用ViewSVN等存储库浏览工具时,不应扩展它们,即。它们显示为$ Id $。
答案 3 :(得分:2)
您选择的答案是正确的。您还可以设置自动道具以自动启用关键字属性。见http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.4
当你完成后,偶尔可以从http://subversion.tigris.org/tools_contrib.html运行svn_apply_autoprops.py
svn_apply_autoprops.py将检查您的autoprops设置,并通过您的存储库设置它。
答案 4 :(得分:0)
好的,显而易见的答案是 正确; svn:未设置关键字 那个文件了。但我发誓他们 以前是!知道如何/为什么 svn:关键字已被清除 从没有任何人的文件 注意到/做任何事情 目的
我能想到的第一个原因是: 如果文件是svn-added,然后在第一次提交之前移动/重命名,则不应用自动属性。
在这种情况下使文件失去其属性的错误将在Subversion 1.5.6和1.6.0中得到解决。