2. 1. Branch / tags 관리의 필요성 * Branch/Tag 관리를 하지 않을 경우. - 버전관리를 위해 ‘버전별 모든 소스’를 각각 백업 해야 한다.
3. 2. Branch/Tag 관리를 위한 디렉토리 구조 Project#1 branches publish Branches 프로젝트 안의 작은 프로젝트 개념. 개발상 분기점이 있을 경우 관리 test mirror tags 1.0 Tags 프로젝트 버전관리. 버전변화가 생기는 시점의 소스를 관리 1.2 2.0 trunk src Trunk 프로젝트의 중심 – 개발이 이루어지는 디렉토리. 소스 및 문서파일 등 이 위치 docs
4. 2. Branch/Tag 관리 방법 1) Branch/Tag 관리에 사용되는 명령어 - SVN 에는 Branch/Tag 관리를 위한 별도의 명령을 지원하지 않는다. - 이슈가 되는 시점의 파일을 copy명령을 통해 복사하는 방법을 이용한다. - 복사본을 남기고 싶은 상태에 해당하는 폴더로 파일을 이동한다. - 버전업 : tags, 분기점 생성 : branches Ex) 1.0 에서 1.1 로버전업이 되었을 경우 – tags/1.1 이란 폴더를 만들어 파일을 복사 2) Branch/Tag 관리 방법 – 쉘 명령어 이용 svn copy 원본위치저장될위치 Ex) 2.0 버전을 발표할 때, 발표시점의 소스를 남기고 싶은 경우 - svn copy svn://203.236.230.36/trunk svn://203.236.230.36/tags/2.0 Ex) 현재 개발중인 소스를 test 라는 이름으로 따로 관리하고 싶을 경우. - svn copy svn://203.236.230.36/trunk svn://203.236.230.36/branches/test
5. 2. Branch/Tag 관리 방법 3) Branch/Tag 관리 방법 - GUI 툴(Tortois SVN)을 이용 1. 소스폴더(SVN과 연동된) 에서 마우스 오른쪽클릭. 2. TortoiseSVN -> branch/tag 를 선택
6. 2. Branch/Tag 관리 방법 3) Branch/Tag 관리 방법 - GUI 툴(Tortois SVN)을 이용 3. 저장될 경로를 입력. - 버전업 일 경우 : tags - 소스 분기 일 경우 : branches 4. 현재 작업에 대한 메시지를 입력. - 이력 관리를 위해 가급적이면 자세하게 남긴다 Ex) 2.0 발표시점의 소스 5. OK 를 클릭하면 작업이 진행된다
7. 3. 원하는 Branch/Tag 소스를 내려 받는 방법 Branch/Tag 관리 방법 – 쉘 명령어 이용 svn export 원본위치저장될위치 Ex) 2.0 버전으로 tagging 된 소스를 /data/2.0 으로 복사하고 싶을 때 - svn export svn://203.236.230.36/tags/2.0 /data/2.0 Ex) test 라는 이름으로 생성된 소스를 /data/test 로 복사하고 싶을 때 - svn copy svn://203.236.230.36/branches/test data/test
8. 3. 원하는 Branch/Tag 소스를 내려 받는 방법 3) Branch/Tag 관리 방법 - GUI 툴(Tortois SVN)을 이용 1. 소스를 저장할 폴더에서 우클릭 2. TortoiseSVN -> Export 를 선택 *** SVN 과 연동된 폴더에서는 Export 를 하면 안됨. - SVN 연동 폴더에서 Export 할 경우 현재 연결된 SVN 소스를 그대로 내려 받음. (원하는 소스를 선택 할 수 없음.)
9. 3. 원하는 Branch/Tag 소스를 내려 받는 방법 3) Branch/Tag 관리 방법 - GUI 툴(Tortois SVN)을 이용 3. 원하는 저장소를 선택. Ex) ver2.0 의 소스 - svn://……/tags/2.0 4. 저장될 위치를 선택 5. OK 를 클릭하면 작업이 진행된다
10. 4. SVN 을 이용시 지켜야 할 룰 1. Commit 을 할 때 반드시 코멘트를 남긴다. - 수정된 파일 등의 정보를 남겨 변경이력 추적이 용이하도록 한다. - 에러가 발생 할 경우, 언제 어떤 파일이 수정되어 에러가 생긴 것인지 파악하기 쉽다. 2. 출근 후 Update, 퇴근 전 Commit 을 반드시 하도록 한다. - 작업자들간에 동일한 Revision 을 유지하기 위해, Update, Commit 을 습관적으로 한다. 3. Tag 는 버전업이 되는 시점에서, Branch 는 두가지 이상의 버전 비교가 필요할 때 생성한다. - 이외의 경우는 반드시코멘트를 남겨 다른 작업자가 알아보기 쉽도록 한다.
11. 5. 맺음말 SVN용 웹 인터페이스가 있음. - 적용여부를 고려해 볼 필요가 있음. 참고 URL - 피라시스닷컴: http://www.pyrasis.com/main/Subversion-HOWTO#s-5.14.1.1 - KLDP Wiki : http://wiki.kldp.org/wiki.php/SubversionBook