#keywords cvs,rcs,vcs,version,diff #title 간략한 CVS사용법 정리 [wiki:Home 대문] / [wiki:CategoryHowTo 활용] / [wiki:SimpleHowtoCVS 간략한 CVS사용법 정리] ---- == [wiki:SimpleHowtoCVS 간략한 CVS사용법 정리] == * 작성자 조재혁([mailto:minzkn@minzkn.com]) * 고친과정 2010년 8월 18일 : 처음씀 === 개요 === CVS 의 기본적인 사용법을 간단히 정리하고 branch 하는 방법에 대하여 정리해봅니다. === 사용방법 === * Branch 사용에 앞서서 알아야 할 정리사항 1. Login {{{#!plain cvs -d:pserver:[[:]@][:]/ login }}} 1. Import {{{#!plain cvs import -I ! }}} 1. Check out {{{#!plain cvs co [-r ] [-d ] }}} 1. Update {{{#!plain cvs update [-r ] }}} 1. Commit {{{#!plain cvs commit [-m ""] }}} 1. Create release branch {{{#!plain cvs rtag -b }}} 1. Create tag {{{#!plain cvs tag }}} 1. Merge branch {{{#!plain cvs update [-j [...]] }}} * 만약 myapp 라는 프로젝트가 개발이 되고 있고 이 프로젝트는 CVS repository root 가 "/cvsroot" 라고 가정하고 설명합니다. 이제 myapp 의 소스는 ${HOME}/project/myapp 라는 디렉토리에 있습니다. * 첫번째: CVS login (CVS server 는 "pserver" 방식이고 ServerIP는 "192.168.0.2" 이며 계정명은 "test" 이며 암호는 "1234" 일때) * 방식 #1 (이 방법을 기준으로 다음 절차를 설명할것입니다.) {{{#!plain export CVSROOT=:pserver:test:1234@192.168.0.2:/cvsroot cvs login }}} * 방식 #2 {{{#!plain cvs -d:pserver:test:1234@192.168.0.2:/cvsroot login }}} * 두번째: CVS 에 첫 등록하기 (CVS에 "mysource" module 로 등록하고 vender_tag 는 "mycompany" 라고 하고 release_tag 는 "start"라고 하겠습니다.) {{{#!plain cd ${HOME}/project/mzapp cvs import -I ! mysource mycompany start cd .. mv myapp myapp_org cvs co -d myapp mysource }}} * 세번째: CVS release branch 만들기 (이때 branch_tag 는 "release_mysource" 라고 하겠습니다.) {{{#!plain cvs rtag -b release_myapp mysource }}} * 네번째: 새로운 release branch로부터 개발하기 (이때 이 새로운 branch를 "${HOME}/project/release_myapp" 라는 디렉토리 받는다고 가정) * 방법 #1 (새로운 branch를 독립적으로 디렉토리를 유지하고자 할때, 이 방법을 기준으로 다음절차를 설명할것입니다.) {{{#!plain cd ${HOME}/project cvs co -r release_myapp -d release_myapp mysource }}} * 방법 #2-1 (branch를 현재 local CVS 저장소에 적용하는 방법) {{{#!plain cd ${HOME}/project/myapp cvs update -r release_myapp }}} * 방법 #2-2 (#2-1 의 branch 적용된것을 원래의 tag로 전환하는 방법) {{{#!plain cd ${HOME}/project/myapp cvs update -A }}} * 다섯번째: Branch된 것을 Main 에 합류시키기 (이 경우 branch된 "release_myapp" 를 정합하게 할것입니다.) {{{#!plain cd ${HOME}/project/myapp cvs update cvs commit cvs update -j release_myapp cvs commit }}}