2013-04-08 1 views
0

CVS에서 SVN으로 점프하기로 결심했습니다.Subclipse SVN은 특정 디렉토리를 무시합니다.

프로젝트의 새 저장소를 subclipse에 설치했습니다. '마침'을 선택하면 초기 커밋을 수행하고 버전 관리를 위해 파일을 선택하는 파일 목록을 제공합니다.

문제는 커밋하고 싶지 않은 수천 개의 생성 된 바이너리 파일이 있다는 것입니다.

그래서 하루 종일 걸려 모든 원치 않는 파일을 선택 취소하기 때문에 취소를 클릭합니다. 불쾌하게도 무시할 파일에 대한 상위 카테고리를 클릭하면 재귀 적이 아닙니다!

그래서 취소를 클릭하고 프로젝트의 Eclipse 디렉토리 구조로 가서 무시하고 싶은 모든 디렉토리에서 수동으로 svn : ignore를 설정하십시오. 그런 다음 커밋을 다시 시도하면 모든 파일이 다시 표시됩니다. 무시하면 아무것도 수행하지 않은 것으로 보입니다.

누구든지 내가 잘못하고있는 것을 지적 할 수 있습니까?

답변

1

첫 번째 커밋의 경우 커밋 할 파일이 아닌 모든 파일을 삭제하는 작은 스크립트를 작성하는 것이 좋습니다.

그 후, 당신이 찾아내는 경우에 당신이 실수로 파일을 최선을 다하고, 당신은

svn delete file 

첫 번째 체크 아웃시, (재생, 더 나은 아직 나) 모든 바이너리 파일을 다시 복사 할 수 있습니다. 이렇게하면 svn이 로컬 저장소가 원격 저장소와 동기화되지 않음을 알립니다.

cd <Root of local repository> 
svn status 

"추가 할 항목"이 많이 표시됩니다. 상위 디렉토리로 이동하여 생성 된 각 항목에 대해 svn:ignore 특성을 추가하십시오.

cd build 
svn propedit svn:ignore . 

편집기를 엽니 다 (그렇지 않은 경우 환경 변수 SVN_EDITOR를 적절한 편집기로 설정해야 함). 그런 다음 svn이 추적되지 않는 항목을 추가 할 수 있습니다.

(in the ignore property editor) 

target 
build 
image* 
*.o 

(and so on) 

파일을 저장하고 그것을 다음 커밋에 대한를 개최 할 것이다. 이후에 svn status을 실행하면이 파일이 더 이상 "추가해야 함"으로 표시되지 않지만 디렉토리가 "커밋해야 함 (디렉토리에서 수정 됨)"으로 표시됩니다.

+0

해당 제안에 감사드립니다. 생성 된 모든 파일을 삭제하고 상위 디렉토리를 보관했습니다. 그런 다음 프로젝트를 커밋하고 바이너리 파일이 들어있는 몇 개의 디렉토리를 선택 취소했습니다. 커밋이 끝나면 되돌아 갈 수 있고 svn : 부모 디렉토리를 무시합니다. 내가 svn을 버전 화하는 것을 원하지 않았습니다. 그런 다음 다음 전체 업데이트시 해당 파일이 포함되지 않았으므로 다시 선택 취소 할 필요가 없습니다. 나는 약간의 놀랍지 만 첫 번째 가져 오기에서 디렉토리를 쉽게 선택 취소하는 방법이 없다는 것에 놀랐다. – someuser

+0

@l_t 당신이 잘 나가는 것처럼 들린다. 그냥 파일에 추가로 디렉토리를 생성한다면 생성 된 디렉토리를 체크하지 않는 것이 가장 좋습니다. 그렇지 않으면 빌드가 삭제되고 다시 생성되면 svn 시스템이 계속 불평 할 것입니다. 그들이 이미 체크인을했다면 큰 문제가 아니며 언제나'svn 삭제 '할 수 있습니다. 놀람에 관해서는, 당신이 그것에 대해 생각할수록 놀라움은 덜합니다. 모든 "원하지 않는"디렉토리를 나열하는 옵션은 "원하는"디렉토리 만 나열하는 옵션만큼 나쁜 것입니다. –