서브버전을 처음 쓸때 가장 많이 혼동하는 부분이 전역 리비전 방식인것 같습니다. 예를 들어 보죠.
세개의 소스파일이 현재 레파지터리에 들어있습니다. 리비전1에서는 세개 파일의 형상이 동일한 시점에 만들어졌고 동일한 리비전을 가지고 있습니다.
리비전2에서는 User.java와 Organization.java는 리비전1과 변경된게 없습니다. 하지만 Address.java가 수정되었기 때문에 리비전이 1에서 2로 증가한것입니다. 즉 변경된 사항이 없어도 레파지터리에 있는 어떤 형상이라도 변경되면 모든 형상의 리비전이 증가합니다. 이것이 전역 리비전 시스템의 특징입니다.
리비전3을 보죠. Organization.java는 리비전1,2와 동일합니다만 User.java가 변경되었기 때문에 리비전번호가 3으로 증가했습니다. Address.java도 리비전2와 비교했을때 동일한데도 리비전 번호가 3으로 증가했습니다.
이런 특징은 형상서버에게 어떤 영향을 줄까요 ? 리비전 번호를 가지고 고유한 형상을 찾을수가 없습니다.
User.java를 보면 리비전1과 리비전2를 형상으로 구분하는건 불가능합니다. (CVS에서는 가능합니다.)
하지만 해당 소스의 리비전 번호만 있으면 해당 소스가 커밋될때의 모든 형상의 찾을 수가 있습니다. 일종의 스냅샷인 셈이죠. 이건 무지 중요합니다.
제가 CVS를 쓰다가 서브버전을 처음 쓸때 이부분이 제일 이해가 안가더군요. 현재 국내에 나와있는 서브버전 서적은 두권입니다. 저는 이중에 실용주의 시리즈가 더 마음에 드네요.
세개의 소스파일이 현재 레파지터리에 들어있습니다. 리비전1에서는 세개 파일의 형상이 동일한 시점에 만들어졌고 동일한 리비전을 가지고 있습니다.
리비전2에서는 User.java와 Organization.java는 리비전1과 변경된게 없습니다. 하지만 Address.java가 수정되었기 때문에 리비전이 1에서 2로 증가한것입니다. 즉 변경된 사항이 없어도 레파지터리에 있는 어떤 형상이라도 변경되면 모든 형상의 리비전이 증가합니다. 이것이 전역 리비전 시스템의 특징입니다.
리비전3을 보죠. Organization.java는 리비전1,2와 동일합니다만 User.java가 변경되었기 때문에 리비전번호가 3으로 증가했습니다. Address.java도 리비전2와 비교했을때 동일한데도 리비전 번호가 3으로 증가했습니다.
이런 특징은 형상서버에게 어떤 영향을 줄까요 ? 리비전 번호를 가지고 고유한 형상을 찾을수가 없습니다.
User.java를 보면 리비전1과 리비전2를 형상으로 구분하는건 불가능합니다. (CVS에서는 가능합니다.)
하지만 해당 소스의 리비전 번호만 있으면 해당 소스가 커밋될때의 모든 형상의 찾을 수가 있습니다. 일종의 스냅샷인 셈이죠. 이건 무지 중요합니다.
제가 CVS를 쓰다가 서브버전을 처음 쓸때 이부분이 제일 이해가 안가더군요. 현재 국내에 나와있는 서브버전 서적은 두권입니다. 저는 이중에 실용주의 시리즈가 더 마음에 드네요.
서브버전을 이용한 실용적인 버전관리서브버전을 설치하면 pdf버전의 서브버전 매뉴얼이 같이 설치되니 그걸 참고하셔도 됩니다.
서브버전
'Work & Study > TechTalk' 카테고리의 다른 글
| SOA에 대한 글로벌 사례 두가지 (0) | 2008/02/13 |
|---|---|
| 프로젝트 자동화를 위한 로드맵을 작성하고 있습니다. (2) | 2008/02/11 |
| 반드시 기억해야 할 서브버전의 특징 (0) | 2008/02/01 |
| WCF Architecture에 대한 자료 (0) | 2008/01/31 |
| MS의 SOA 전략 '오슬로' (2) | 2008/01/30 |
| SW 컨버전스에서의 SOA (0) | 2008/01/28 |
TAG subverion


