bionote.net

Subversion 저장소 구조화하기


Subversion은 아주 효과적인 버전관리를 수행해주는 프로그램으로 널리 사용되고 있다. 하지만 저장소를 효과적으로 구조화하지 않으면 시간이 지남에 따라 해결하기 힘든 충돌이 발생하거나 팀원들간의 (또는 서브 프로젝트) 코드 공유를 번거롭게 만드는 일이 발생할 수도 있다. 따라서 저장소 구조화를 위한 가이드라인이 필요하다.

프로젝트 projectA에 대한 subversion 저장소는 기본적으로 다음과 같은 구조를 갖는다.

svn_repos
   /projectA
      /trunk
      /branches
         /RB-[RELEASE_NUMBER]
         /BUG-[BUG_TRACK_NUMBER]
         /TRY-[ABBREVIATION]-[EXPLANATION]
      /tags
         /REL-[RELEASE_NUMBER]
         /PRE-[BUG_TRACK_NUMBER]
         /POST-[BUG_TRACK_NUMBER]
         /EXP-[EXPERIMENT_NUMBER]

각 디렉토리의 역할은 다음과 같다.
  • trunk는 프로젝트가 주로 진행되는 디렉토리이다.
  • branches는 릴리즈 준비, 버그 교정, 새로운 시도 등의 이유로 trunk와 병렬로 프로젝트를 진행하게 되는 디렉토리이다. branches 아래 위치하는 디렉토리명이 가지를 생성한 이유를 말해줄 수 있다면 더욱 좋겠다. RB는 릴리즈를 준비하는 가지이다. BUG는 버그교정 작업을 진행하는 가지이다. TRY는 새로운 아이디어나 기능 등을 실험할 때 사용할 수 있는 가지이다.
  • tags는 릴리즈되는 버전들을 별도로 관리하는 디렉토리이다. REL는 릴리즈되는 프로그램을 위한 태그이고, PRE와 POST는 각각 버그가 교정되기 이전과 이후 버전을 표시해주는 태그이다. EXP는 실험에 사용된 코드를 표시하기 위한 태그이다.

REFERENCE
  • Mike Mason, (류광 역), 서브버전을 이용한 실용적인 버전 관리, 정보문화사, 2006.
2006/10/03 02:10 2006/10/03 02:10
top

TRACKBACK ADDRESS :: http://bionote.net/tt/blna999/trackback/105

Leave a comment..