Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么$Id$有时不能在SVN中扩展?_Svn - Fatal编程技术网

为什么$Id$有时不能在SVN中扩展?

为什么$Id$有时不能在SVN中扩展?,svn,Svn,我正在从事一个项目,在该项目中,我们积极使用subversion生成的$Id$字符串在文档中写入版本号。例如,我们解析这个字符串 $Id: filename 999 2009-02-23 22:51:29Z author $ 并在文档标题页中打印“999” 但在提交后,信息会不时被删除,而我们只剩下 $Id$ 这显然有点破坏了事情。有人知道为什么会这样吗 好吧,显而易见的答案是正确的svn:不再为该文件设置关键字。但我发誓他们曾经是!知道如何/为什么从文件中清除svn:keywords,

我正在从事一个项目,在该项目中,我们积极使用subversion生成的
$Id$
字符串在文档中写入版本号。例如,我们解析这个字符串

$Id: filename 999 2009-02-23 22:51:29Z author $
并在文档标题页中打印“999”

但在提交后,信息会不时被删除,而我们只剩下

$Id$ 
这显然有点破坏了事情。有人知道为什么会这样吗



好吧,显而易见的答案是正确的<代码>svn:不再为该文件设置关键字。但我发誓他们曾经是!知道如何/为什么从文件中清除
svn:keywords
,而没有任何人注意到/故意做任何事情吗?

该文件的svn:keywords属性可能没有正确设置。您需要将其设置为(至少)“Id”:


如果定义了“svn:Keywords”属性,则关键字仅在签出时展开。使用存储库浏览工具(如ViewSVN)时,不应展开它们,即它们显示为$Id$。

您选择的答案是正确的。您还可以考虑设置自动道具以自动启用关键字属性。看

完成此操作后,您可以偶尔从运行svn_apply_autoprops.py

svn_apply_autoprops.py将检查您的autoprops设置,并检查您的存储库设置

好吧,显而易见的答案是 对的svn:没有为设置关键字 那个档案再也没有了。但我发誓他们 过去是!知道怎么/为什么吗 svn:关键字将被清除 从一个没有任何人的文件 注意到/正在做任何事情 目的

我能想到的第一个原因是: 如果在第一次提交之前添加了svn文件并移动/重命名,则不会应用自动属性


在这种情况下,使文件丢失属性的错误将在Subversion 1.5.6和1.6.0中得到解决。

确保文件是UTF-8格式,而不是Unicode格式。Unicode文件不会被扩展,因为SVN认为这些不是文本文件。。。我用记事本另存为UTF-8来解决这个问题

谢谢,我应该先检查一下;这个文件的关键字没有像你怀疑的那样设置,但我发誓它们曾经是!如果您正在运行命令行SVN客户端,那么可以在~/.subversion/config文件中为这些内容设置默认值。这可能也适用于OrtoiseSVN,但请不要引用我的话。因此,如果我“丢失”了SVN关键字(这些关键字已设置,但尚未展开),有没有办法强制“签出”以展开它们?我今天花了6个小时试图弄清楚为什么SVN中的现有文本文件无法使SVN:关键字展开工作。文本文件的编码是问题所在。你把我从疯狂中拯救了出来!
svn ps svn:keywords 'Id' filename.txt