2012-04-19 8 views
3

.subversion/config에 들어가서 .settings를 추가했지만 svn diff에서 작동하지 않습니다.SVN 전역 무시가 작동하지 않습니다. (다른 게시물의 솔루션이 작동하지 않습니다.)

~/Space/ifp-integration/CIGNA-IFP-ESB$ svn diff 
Index: .settings/org.eclipse.jdt.core.prefs 
=================================================================== 
--- .settings/org.eclipse.jdt.core.prefs (revision 2014) 
+++ .settings/org.eclipse.jdt.core.prefs (working copy) 
@@ -1,6 +1,15 @@ 

이것은 어떤 사람이 체크인했음을 보여 주지만 어느 쪽이든 무시하고 싶기 때문에 걱정하지 않습니다. 이것이 무시되는지 확인하는 방법이 있습니까?

+0

Windows에서'config' 파일은'% APPDATA % \ Subversion \ config'입니다. 예 : 'C : \ Documents and Settings \ Peter \ 응용 프로그램 데이터 \ Subversion \ config'. –

답변

5

저장소에있는 항목은 무시할 수 없습니다. 그것은 Subversion에서의 작업을 무시하는 방식이 아닙니다. 무시

단순히 저장소에 파일을 추가 실수로을 방지하는 방법입니다. 파일이 이미 저장소에 있으면 무시할 수 없습니다.

전역 무시는 파일에만 적용되고 디렉토리에는 적용되지 않습니다. Subversion 구성 파일에서 .settings을 무시한다고 가정하면 .settings 디렉토리는 무시하지만 .settings이라는 파일 만 무시합니다. 그리고 파일이 아직 저장소에없는 경우에만 .settings 파일을 무시합니다.

기본적으로, 당신은 svn add * 또는 svn status, 저장소에없는 모든 파일 말을, 그리고 당신의 무시 글로벌 은어가 svn status에 표시 추가되지 않습니다 일치하는 경우. 그게 전부입니다.

비슷한 내용의 svn:ignore 디렉토리에 속성을 만들 수 있습니다. 그러나 svn:ignore도 디렉토리를 무시합니다. 예를 들어 Maven 프로젝트가있는 경우 svn:ignore = target을 설정할 수 있으며 대상 폴더는보고되지 않습니다. 그러나 svn:ignore은 하위 디렉토리가 아닌 속성이있는 디렉토리에서만 작동합니다.

그럼 어떻게 .settings 디렉토리를 무시할 수 있습니까? 간단한 : 당신은 그것을 체크 아웃하지 않습니다. 불행히도, Subversion에서이 작업을 수행하는 간단한 방법은 없습니다. 여기에 당신이 할 수있는 작업 :이 작업 디렉토리에있는 모든 폴더와 파일을 확인하지만 하위 디렉토리됩니다

$ svn checkout --depth=immediates http://server/src/myproj 

. 콘 셸 및 BASH (당신이 shopt -s extglob을 설정 한 경우)에서 :

$ svn update --set-depth=infinity !(.settings) 

이것은 .settings 디렉토리 제외한 모든 디렉토리에 체크 아웃을 계속할 것이다.

또한이 작업을 수행 할 수 있습니다 : 그것은 이미 체크 아웃 된 후

$ svn update --set-depth=exclude .settings 

.settings 디렉토리를 제거 할 수 있습니다. 이렇게하면 .settings 디렉토리가 저장소에서 제거되지 않지만 작업 디렉토리에서 .settings 디렉토리가 제거되고 작업 디렉토리 (저장소 URL 제외)의 svn diff.settings 디렉토리의 아무 것도보고하지 않습니다.

하나의 큰 중요한 점은 내가 강조해야합니다 저장소에있는 파일의 사고 또한 방지에만 무시합니다. 그것은 누군가가 그것을 추가하는 것을 막지 않으며 일단 거기에 있으면 무시되지 않을 것입니다.

또한 전역 무시 설정은 모든 사람에게 적용되지 않습니다. 너 한테만. 사람들이 저장소에 추가해서는 안되는 파일을 추가하지 못하게하려면 this one과 같은 미리 커밋 된 후크가 필요합니다.

이 훅을 사용하면 특정 이름의 파일이나 디렉토리가 커밋되지 않도록 할 수 있으며 파일과 디렉토리의 속성이 설정되어 있는지 확인할 때도 사용할 수 있습니다. 예를 들어 사람들이 프로젝트의 .settings 디렉토리에 추가 할 수 없도록 할 수 있습니다. 또는 디렉터리의 svn:ignore 속성이 .settings 디렉터리를 무시하도록 설정되어 있는지 확인하십시오.

관련 문제