我正在尝试使用通配符以递归方式向所有文件添加属性.
文件结构如下
D:>dir *.bob /s/b
D:\Source\key-test\test.bob
D:\Source\key-test\test2.bob
D:\Source\key-test\sub\test3.bob
Run Code Online (Sandbox Code Playgroud)
到目前为止的属性(无)
D:>svn propget svn:keywords -R *.bob
Run Code Online (Sandbox Code Playgroud)
尝试一个递归集(注意缺少test3.bob)
D:>svn propset svn:keywords "Author HeadURL Id Revision" -R *.bob
property 'svn:keywords' set on 'test.bob'
property 'svn:keywords' set on 'test2.bob'
Run Code Online (Sandbox Code Playgroud)
改为sub并确保我们可以设置prop(ok)
D:>cd sub
D:>svn propset svn:keywords "Author HeadURL Id Revision" -R *.bob
property 'svn:keywords' set on 'test3.bob'
Run Code Online (Sandbox Code Playgroud)
任何人都知道怎么了-R,我也尝试过--recursive?
干杯,
亚当
D:>svn --version
svn, version 1.6.6 (SlikSvn:tag/1.6.6@40358) WIN32
compiled Nov 3 2009, 15:31:43
Run Code Online (Sandbox Code Playgroud)
Aro*_*ron 19
实际上-R是递归的.例如:
svn propset svn:eol-style 'LF' -R *
Run Code Online (Sandbox Code Playgroud)
这也适用于所有子文件夹.然而:
svn propset svn:eol-style 'LF' -R *.php
Run Code Online (Sandbox Code Playgroud)
...仅适用于当前文件夹中的php文件,无论-R如何.添加:
svn propset svn:eol-style 'LF' -R */*.php
Run Code Online (Sandbox Code Playgroud)
将子文件夹降低一级.添加额外的/ -s将进入另一个级别,依此类推......
我真的不确定如何指定(或者甚至可能这样做)它应该根据文件名和递归进行过滤.无论如何,试验不会受到伤害,因为修改是局部的,并且总是可以通过恢复...
Gon*_*alo 11
来自svn help propset:
不能在目录上设置svn:keywords,svn:executable,svn:eol-style,svn:mime-type和
svn:needs-lock属性.非递归
尝试将失败,并且递归尝试将仅在目录的文件子项上设置该属性.
鉴于Gonzalo所指出的-R确实(或不做)的文档存在歧义,我使用了这个批处理文件,而不是试图让svn做我想做的事情
D:>type applyProps.cmd
@echo off
for /r . %%X in (*.bob) do (
svn propset svn:keywords "Author Id HeadURL Revision" "%%X"
)
Run Code Online (Sandbox Code Playgroud)