2014-04-04 3 views
0

SVN에서 외부로 존재하는 파일에 대한 변경 사항 커밋을 사용하지 않도록 설정하는 방법이 있습니까?외부에서 편집을 허용하지 않는 SVN

사용자가 실제 파일을 체크 아웃하고 변경하고 커밋하도록 강요하고 싶습니다. 그런 다음 해당 파일의 알려진 가입 프로젝트 각각을 테스트하여 파일이 손상되지 않았는지 확인합니다.

+0

한 가지 방법은 사용하기 위해 복사 작업에 이름을 변경해야 "템플릿"파일을하는 것입니다. 파일의 이름을 바꾸지 않으면 프로젝트가 실행되지 않으므로 사용자는 강제로 작업을 수행합니다. – Dialecticus

답변

0

아니요. 작동 할 수있는 Precommit Hook이 있습니다.

외부 디렉토리를 편집 할 때 svnlook은 외부 디렉토리인지 여부를 구분할 수 없습니다. 이전 버전의 SVN이 기본 동작 인 것처럼 보였기 때문에 외부 객체를 직접 편집 할 수는 없다고 생각합니다. (여기서는 1.2 및 1.3에 대해 설명합니다).

그러나 외부로 보이는 디렉터리 아래에서 사용자가 파일을 편집하지 못하도록이 후크를 사용할 수 있습니다.

http://svn.vegicorp.com/repo/trunk/foomasterhttp://svn.vegicorp.com/repo/trunk/barmaster에 사용 된 http://svn.vegicorp.com/repo/trunk/common 프로젝트가 있다고 가정합니다. 외적인는이 프로젝트에서 디렉토리 common 미만이 해결의

[file You cannot edit an external directory. Please checkout http://svn.vegicorp.com/repo/trunk/common to edit that file] 
file = /trunk/*/common 
access = read-only 
users = @ALL 

[file You cannot edit an external directory. Please checkout http://svn.vegicorp.com/repo/trunk/common to edit that file] 
file = /branches/*/*/common 
access = read-only 
users = @ALL 

[file Good for you! You checked out http://svn.vegicorp.com/repo/trunk/common ] 
file = /trunk/common/** 
access = read-write 
users = @ALL 

[file Good for you! You checked out http://svn.vegicorp.com/repo/trunk/common ] 
file = /branches/*/common/** 
access = read-write 
users = @ALL 
관련 문제