标题是什么
我尝试svn pd
,但不知道使用它的正确语法。
>svn pd svn:keywords Id
svn: warning: 'Id' is not under version control
我希望这在整个当前目录中,而不仅仅是一个文件,所以我尝试了:
>svn propdel svn:keywords "Id" . -R
svn: warning: 'Id' is not under version control
property 'svn:keywords' deleted (recursively) from '.'.
我的文件仍然展开了$Id$
。
更清楚的是,我没有对svn做任何事情,只是检查它并不时更新。
我注意到当我使用git-svn获取它时,所有$Id$
标签都被保留(未展开),我希望svn做同样的事情。
所以现在我运行了这个命令:
>svn propdel svn:keywords . -R
我现在应该怎么做才能在不扩展$ Id $的情况下获取最新文件?我想我想要的是告诉svn再次拉所有文件......
我试过了:
>svn revert . -R
但它似乎没有做我想要的。
答案 0 :(得分:5)
'svn propdel'只将路径作为参数,而不是“Id”。因此,您只能完全删除svn:keywords-property,或者编辑属性。
因此,如果您不关心其他关键字,可以使用以下内容:
svn propdel svn:keywords . -R
如果您想要一些关键字作为标准,但不是“ID”,您可以递归设置:
svn propset svn:keywords "Revision" . -R
另一件事是:如果删除关键字“Id”,则此关键字在文件中保持不变。如果它在它保持这种状态之前被扩展了,但是如果你回到$ Id $它将不会扩展。
回答更新2: svn-revert总是从文件中取回最后一个修订版。那不是你想要的。
正如我之前所说,如果关键字被扩展一次,它们就会保持不变,即使您稍后停用扩展。因此,您需要一个脚本来将文件恢复为未展开的$ Id $并再次提交。之后 - 如果您按照描述停用了扩展程序 - 关键字保持未展开状态。
答案 1 :(得分:1)
您需要说明您希望删除该属性的内容。所以你在最后遗漏了一个文件名
svn propdel svn:keywords "Id" file
否则svn似乎只将最后一个参数作为文件名,这不在版本控制之下