반응형
충돌이 일어났다면
- 참고
서브버전을 이용한 실용적인 버전관리 - 정보문화사
http://occam.n4gate.com/ - 번역하신 류광님 블로그
http://www.pyrasis.com/main/Subversion-HOWTO - 한글 설치 가이드
1. 서브버전에서도 파일에 대한 잠금기능을 제공하지만
파일을 잠그지 않고 유연한 관리를 권장하고 있다.
아래에서는 n 명의 개발자가 작업을 하는 경우 시뮬레이션(^^) 을 테스트 해본다.
aladdin 이라는 새로운 디렉토리에 체크아웃을 한다. 다른 사용자라고 가정한다.
헉..근데 실행이...안된다.
file:// 이 아니라 file:/// 이다.
![사용자 삽입 이미지](https://t1.daumcdn.net/tistoryfile/fs1/2_6_2_30_blog34505_attach_0_41.jpg?original)
2. 체크인을 하는 경우에는 -m 옵션을 통하여 해당 로그를 작성해야만 한다.
해당 옵션을 실행하지 않고 체크인 하려고 하면 아래와 같이 경고문이 나온다.
-m 을 사용하지 않으려면 아래 메시지처럼 외부 프로그램을 사용하는 부분을 설정하라고 한다.
set SVN_EDITOR=notepad 라고 설정하면 svn commit 명령시 노트패드가 떠서 해당 로그를 작성하게 해준다.
이런 설정은 커멘드 창이 떠있는 동안만 유효하며 영구 설정을 위해서는 환경변수를 설정해주어야 한다고 한다.
귀찮아서 일단 넘어감..
뭐 하여간 2개의 파일을 적절히 수정하고 리비전 3으로 체크인 하였음..
![사용자 삽입 이미지](https://t1.daumcdn.net/tistoryfile/fs1/2_6_2_30_blog34505_attach_0_42.jpg?original)
3. 이제 막 파일을 내려받은 aladdin 에게 가보자
조금전 sesame 가 새로 체크인하였기때문에
이전에 받은 파일은 구 버전이 되어버렸다.
해당 상태를 아래와 같이 확인한다.
--show-updates 는 -u 와 같은 옵션이다.
![사용자 삽입 이미지](https://t1.daumcdn.net/tistoryfile/fs1/2_6_2_30_blog34505_attach_0_43.jpg?original)
4. 어떤 내용이 바뀌었는지 diff 를 사용해서 확인할 수 있다.
여기서 -rHEAD 라는 옵션을 사용하는데 저장소에 있는 가장 최근의 파일과 비교한다는 뜻이라고 한다.
해당 옵션을 설정하지 않으면 리비전2의 상태와 현재 폴더의 상태를 비교하여 준다.
![사용자 삽입 이미지](https://t1.daumcdn.net/tistoryfile/fs1/2_6_2_30_blog34505_attach_0_44.jpg?original)
5. 이제 내용을 확인하였으니 저장소에 있는 최신 리비전으로 해당 폴더의 내용을 갱신한다.
갱신후 파일을 비교해보면 당연히 비교할 내용이 없다.
리비전의 상태도 최신상태..
![사용자 삽입 이미지](https://t1.daumcdn.net/tistoryfile/fs1/2_6_2_30_blog34505_attach_0_40.jpg?original)
728x90