아래꺼는 퍼온거고...
윈도우에서 SVN을 MS의 소스 세이프처럼 사용하기.(한명씩만 소스 수정하기)
SVN은 여러명이서 프로그램을 짤때 소스를 관리해주는 툴이죠.
근데 이넘은 여러명이서 동시에 파일 하나를 작업해서 머지 해주는 획기적인 기능이 있습니다.
문젠.... 여러명이 작업할때 같은 부분을 작업하지 않을 경우에는 획기적인데... 같은 부분을 작업할때는 미쳐버립니다.
더구나... 테스트까지 다 끝낸 건데 다시 짜구 다시 테스트 하고... 미치고 팔짝 뛰는 거죠.
그래서 강제로 소스 세이프처럼(MS의 소스 관리툴) 한사람이 락을 걸면 다른 사람이 사용하지 못하게 하는 방법을 알아봅니다. TortoiseSVN 기준입니다.
탐색기에서
마우스 우측버튼을 클릭하여 "속성(R)"을 클릭합니다.
Subversion 탭을 선택하고, Properties... 버튼을 클릭한다.
New 버튼 클릭
콤보박스에서 svn:needs-lock 를 선택하고 Property value 에다가 * 를,
하위 디렉토리까지 다 적용하게 체크박스 체크 하고 OK 클릭~
그리고 반드시 해당 폴더에서 마우스 오른쪽 클릭해서 팝업 띄운다음에
SVN Commit 해줘야 한다.~ 물론 다른 사용자는 SVN Update 를 하면 적용된다.
소스 파일들은 다 읽기 전용 속성으로 변한다.
이제부터 소스를 수정할려면 Get Lock를 해야 한다. 다 쓴다음에는 Release Lock를 해줘야 다른 사람이 작업할 수 있다.(프로그램에 따라 Lock/Unlock 메뉴가 있는 경우도 있다.)
이 다음부터는 퍼온거다.
Need to enforce Lock-Modify-Unlock on a SVN Server
Hi,
I am replacing PVCS with SVN at my company.
We currently use the Lock-Modify-Unlock policy. Realistically we need to.
Our files are of a propritory format, they are ASCII, but thier content can not be read by a humanbeing, only by our in-house application; which we also use to edit them.
Ok, so I read the SVN documentation, and figured out the following:
if files in a repository have the svn:needs-lock property set to yes, then you can not commit a file to the repository without first obtaining a lock. Additionally, a svn checkout gets you read-only files, this serves as a reminder to obtain a lock before you start editing a file.
How I achived the desired behavior with a client-side config:
If I use the commandline client to checkout files, and I place the following settings in~/.subversion/configThen everything works as desired.Code:[miscellany] enable-auto-props = yes [auto-props] * = svn:needs-lock=yes
Now, this is my question:
How do I configure a subversion server to set svn:needs-lock on all files in a repository? (The documentation drifts off-topic on this key point)
There is a conf file in each repository called svnserve.conf, but while this file uses similar syntax to~/.subversion/config, simply placing the above code in this file does not achive the desired results.
So can anyone help me out? How do I automatically assign properties to all files in a repository, using a server-side solution?
Thanks in advance