2009-08-20 4 views
1

공동 작업자와 나는 종종 프로젝트의 자체 작업 복사본에 대해 서로 다른 svn : ignore 및 svn : externals 속성을 설정할 수 있기를 바랍니다. 속성과 관련된 svn 기능이 버전 관리되어야하는 것처럼 보이지는 않지만 이러한 속성의 버전을 취소 할 방법을 아직 찾지 못했습니다.Subversion에서 사용자 별 svn : x 속성 (예 : svn : ignore 및 svn : externals)을 사용할 수 있습니까?

답변

2

아니요, 속성은 설정 한 파일/디렉토리에만 적용됩니다. 사용자 별 속성이 존재하지 않습니다.

왜 다른 svn : externals가 필요합니까? 이 문제를 해결하는 한 가지 방법은 저장소에만 외부를 포함하는 디렉토리를 만드는 것입니다. 그렇게하면 자신 만의 외부 설정을 제어 할 수 있습니다.

저장소의 규칙과 레이아웃은 사용자가 동의해야하는 항목입니다. Subversion은 실제로 사용자가 저장소의보기를 사용자 정의하는 것을 허용하지 않습니다.

0

이러한 속성을 변환 해제하려면 첨부 된 폴더 또는 파일에서 해당 속성을 삭제하십시오 (커밋). 명령 줄을 사용하는 경우 "svn propdel"을 사용하여 제거 할 수 있습니다.

Properties in SVN은 서버에 저장되지만 작업 복사본 구조가 아니므로 다른 사용자에 대해 동일한 속성을 설정할 수 없습니다.

동일한 코드의 다른 '보기'를 얻으려면 대신 branching을보고 싶은데, 각자는 자신의 브랜치에서 작업하고 정기적으로 변경 내용을 트렁크에 병합합니다. 이는 사용자마다 다른 속성을 사용하여 달성하고자하는 워크 플로와 같습니다.

svn : ignore를 보는 다른 방법은 클라이언트에 'global-ignores'을 다르게 설정할 수 있습니다.

+0

고마워요! 이것은 내 질문에 대한 좋은 대답이다. 그것은 정말로 편리하다고는 할 수 없지만 분기하려는 것이 내가하려는 일을 수행하는 가장 좋은 방법 인 것처럼 보입니다. 이것은 CAD 프로그램 CADENCE와 svn을 함께 사용하기 때문에 틈새 응용 프로그램의 일부입니다. 그러나 이러한 기능을 원한다면 좋은 이유가됩니다. 틈새 응용 프로그램이지만이 기능의 구현이 너무 어렵지 않아야합니다 (이미 버전이 있거나 다를 수있는 사용자 정의 속성이 있습니다). 어쩌면 미래의 일부 릴리즈에서 ... –

+0

문제는 다음과 같습니다. 사용자 별 소품을 각 파일에 추가하면 관리하기가 쉽지 않습니다. 브랜칭은 여러분이 원하는 것입니다. 일단 여러분이 두 번 그것을 한 번 해보면 훨씬 더 편리해질 것입니다. 그리고 여러분이 할 수있는 다른 것을 깨닫기 시작할 때 알아 내면 훨씬 더 강력 해집니다. – gbjbaanb

0

Muhahahahaha!

완전히 점점 사용자 별에 대한 실용적 솔루션 (물론, 실제로 워크 스테이션 별) SVN : 외관 :

첫째, 각 개발자가 자신의 컴퓨터에 Subversion 저장소를 만들고, 조금 또는 svnserve를 실행 한 인스턴스에 액세스 할 수 있도록합니다.

svn://localhost/local-externals 

각 개발자는 저장소의 루트 디렉토리에 자신의 소유 svn : externals 등록 정보를 설정하십시오. SVN에 외관 참조 :

중앙 저장소에서
svn co svn://localhost/local-externals 
svn pe svn:externals local-externals 
... 
svn commit local-externals 

는 SVN 포함 // localhost를/로컬 외관 이제

svn co svn://example.com/repo/project/trunk 
svn pe svn:externals 
    ... define an reference to svn://localhost/local-externals 
svn commit trunk 

에서 자신의 외관 디렉토리를 얻을 것이다 트렁크를 체크 아웃 각 개발자가 자신의 로컬 외부 저장소를 가져 와서 주 저장소의 일부를 가져 와서 계산대에 포함시키고 자 할 수 있습니다.

이 작업을 수행 할 수 있지만이 점을 고려해 볼 때 나 자신을 인정할만큼 미친 것으로 생각할 것입니다.

+0

감사! 당신이 말했듯이, 나는 아마도 이것까지는 가지 않을 것이지만, 저는 창조적 사고와 나쁜 웃음을 좋아합니다. –

2

SVN을 파일 시스템으로 생각하십시오. 목표를 달성하고 싶다면 파일 시스템에서 무엇을 할 것입니까? 각자는 어딘가에서 원본 파일의 복사본을 만들 것입니다.

Subversion (svn copy)에서도 동일한 작업을 수행 할 수 있습니다. 새 하위 디렉토리에 설정된 속성은 원래 파일이 아닌 해당 하위 디렉토리에만 유효합니다.

하지만 가격이 책정되었습니다. 변경 사항을 수동으로 동기화 (병합)해야합니다 (전복없이 로컬 파일 시스템에서 할 때처럼).

무료로 제공 할 수있는 VCS를 인식하지 못했습니다.