2009-10-29 3 views
4

패턴이 있습니다 svn:ignore datasheets/*/*.pdf
현재 루트 폴더 아래에있는 여러 "데이터 시트"디렉토리에서 임의의 깊이에있는 모든 pdfs를 무시합니다. 예를 들어 내 svn : ignore 패턴의 문제점은 무엇입니까?

: 나는 패턴이 너무 important.pdf을 ingoring없이 모든 ignore.pdfs을 무시해야하는이 예에서이

 
Websites 
    -web1 
    -dataSheets 
     -AT 
     -ignore.pdf 
     -BE 
     -NL 
      -ignore.pdf 
     -FR 
      -ignore.pdf 
      -ignore2.pdf 
    -licenseAgreements 
     -important.pdf 
    -web2 
    -datasheets 
     -etc 

같은 디렉토리 구조를 말한다.

표시된 패턴에는 여전히 모든 내 pdf 파일이 포함됩니다.

나는 많은 비슷한 질문이 있다는 것을 알고 있지만, 그 중 어느 것도 다양한 계층 구조 수준으로 문제를 해결하지 못하는 것 같습니다.

+0

패턴이 실패하는 방식을 나타내는 일부 svn 명령의 출력을 추가하십시오 (질문이 아닌 주석으로). 예 : 일부 PDF를 변경하기 전후의 svn 상태 : s. – unwind

+0

나는 당신이 무엇을 의미하는지 완전히 모릅니다. 표시된 패턴을 루트의 속성에 추가했습니다. 하위 디렉토리 중 하나에 추가 된 pdfs는 무시되지 않습니다. –

답변

0

svn : ignore는 설정된 디렉토리에서만 작동합니다. 하위 디렉토리에서 파일을 무시하려면 하위 디렉토리에이 속성을 재귀 적으로 적용해야합니다. (-R 스위치).

이 시도하십시오

svn propset svn:ignore "*pdf" -R datasheets 
+0

아직 모든 pdfs가 추가되고 있습니다. S –

2

the documentation에서 :

가 [U]를 global-ignores 옵션 nlike의 svn:ignore 속성에있는 패턴이 그 속성이 설정되어있는 디렉토리에만 적용 하위 디렉토리에는 적용되지 않습니다.

--recursive 옵션을 사용하여 반복적으로 각 디렉토리에 무시 패턴을 적용해야합니다.

+0

슬픈 예로 주어진 예가 실제 상황이 아닙니다. 내 현실 세계에서는 많은 데이터 시트 폴더가 있으며 폴더가 올 것입니다.매번 적용하는 것은 미친 사람의 일일 것입니다. –

1

에서 빌드를 사용하려면 기능을 전역에서 무시해야합니다. svn 속성을 무시하면 단일 레벨에서만 작동하며 예, 새 폴더가 추가되면 변경하거나 다시 추가해야합니다.

그래서 [글로벌 무시 "를 찾아, 라인 (94)의 주위에] 당신의 로컬 구성에서 찾을 수 있습니다 글로벌 무시의 클라이언트 기능을 사용

지역 설정은에서 찾을 수 있습니다 :.

창 :

%APPDATA%\subversion\config 

* nix에서 스크립트가

~/.subversion/config 
+0

그는 모든 PDF를 무시하고 싶지 않습니다. –

+0

특정 파일 이름의 모든 pdfs를 무시하고 다른 파일 이름을 무시하지 않으려한다고 생각했습니다. –

0

나는 80 % 당신이 할 수 있어요 상자 밖에서 원하는 것. 포스트 커밋 훅 (post-commit hook)을 살펴보십시오. 추가되는 파일의 경로 이름을 평가할 수 있으며 지정한 기준에 맞으면 거부 할 수 있습니다.

관련 문제