2. 1. Branch / tags 관리의 필요성* Branch/Tag 관리를 하지 않을 경우. - 버전관리를 위해 ‘버전별 모든 소스’를 각각 백업 해야 한다.
3. 2. Branch/Tag 관리를 위한 디렉토리 구조Project#1branchespublishBranches프로젝트 안의 작은 프로젝트 개념.개발상 분기점이 있을 경우 관리testmirrortags1.0Tags프로젝트 버전관리.버전변화가 생기는 시점의 소스를 관리1.22.0trunksrcTrunk프로젝트의 중심 – 개발이 이루어지는 디렉토리.소스 및 문서파일 등 이 위치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 - 소스 분기 일 경우 : branches4. 현재 작업에 대한 메시지를 입력. - 이력 관리를 위해 가급적이면 자세하게 남긴다 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.04. 저장될 위치를 선택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