2009-11-19 2 views
21

와일드 카드가있는 모든 파일에 속성을 재귀 적으로 추가하려고합니다.재귀 svn propset

파일 구조로

D:>dir *.bob /s/b 
D:\Source\key-test\test.bob 
D:\Source\key-test\test2.bob 
D:\Source\key-test\sub\test3.bob 

속성 지금까지 (없음)

D:>svn propget svn:keywords -R *.bob 

이 (노트 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' 

변화 아래 소품 (확인)을 설정할 수 있는지 확인하십시오.

D:>cd sub 
D:>svn propset svn:keywords "Author HeadURL Id Revision" -R *.bob 
property 'svn:keywords' set on 'test3.bob' 

누구나 -R의 정보를 알면 누구나 - 재귀을 시도 했습니까?

건배,

아담 svn help propset에서

D:>svn --version 
svn, version 1.6.6 (SlikSvn:tag/[email protected]) WIN32 
    compiled Nov 3 2009, 15:31:43 

답변

7

모호성 -R은 곤잘로에 의해 지적 않는 (또는하지 않습니다) 내가 대신 내가

를 원하는 것을 할 SVN을 얻으려고 노력의이 배치 파일을 사용했습니다의 문서를 통해이 점을 감안
D:>type applyProps.cmd 
@echo off 
for /r . %%X in (*.bob) do (
svn propset svn:keywords "Author Id HeadURL Revision" "%%X" 
) 
11

:

SVN의 : 키워드, SVN : 실행, SVN : EOL 스타일, SVN : 마임 타입 및
svn : needs-lock 속성을 디렉토리에 설정할 수 없습니다. 비 반복적 인
시도는 실패하고 재귀적인 시도는 디렉토리의 하위 파일에 대해 속성 만 설정합니다.

+0

은 유효한 옵션으로 -R을 나열 도움에도 불구하고, 단지 directory_의 파일 어린이의 속성을 설정합니다 재귀 시도 _a 위의 단락이를 무시하고 -R는 건가요 그러므로 유효하지 않습니까? –

+5

네, 그게 제가 도움으로부터 모은 것입니다. * nix에서는 find를 사용할 수 있습니다. -name \ *. bob | xargs svn propset ....'당신이 원하는 것을 얻을 수는 있지만 cygwin 없이는 윈도우에서 어떻게 할 것인지 전혀 모른다. – Gonzalo

19

실제로 -R은 재귀 적입니다. 예 :

svn propset svn:eol-style 'LF' -R * 

이렇게하면 모든 하위 폴더에서 작동합니다. 그러나 :

svn propset svn:eol-style 'LF' -R *.php 

...는 -R과 관계없이 현재 폴더 내의 PHP 파일에서만 작동합니다. 추가 중 :

svn propset svn:eol-style 'LF' -R */*.php 

하위 폴더는 한 레벨 아래로 작업합니다./-s를 추가하면 또 다른 레벨이 될 것입니다.

파일 이름을 기준으로 필터링해야한다는 것을 지정하는 방법 (또는 그렇게 할 수 있는지도 모르는 경우)은 재귀 적입니다. . 그럼에도 불구하고 수정 작업은 로컬 작업이므로 되돌릴 수 없기 때문에 실험을 해칠 수 없습니다.

1

작업 디렉토리가 UNIX 환경 인 경우이 명령을 시도해 볼 수도 있습니다.그것은 나를 위해 작동 :

svn propset svn:keywords "Id" `du -a | cut -f 2 | grep -v "\.svn" | grep "\.bob$" | sed "s/ /[[:space:]]/g"`