기본 콘텐츠로 건너뛰기

CVS 사용방법

    1. CVS 명령어 사용법
      1.1. 계정생성
      1.2. 새 프로젝트는 어떻게 만드나요?
      1.3. Login
      1.4. Check out
        1.4.1. 메인버젼 꺼내 오기
        1.4.2. 특정버젼 꺼내 오기
      1.5. Update
      1.6. Commit(저장)
      1.7. Diff(비교)
      1.8. Remove(삭제)
      1.9. Add(파일 추가)
      1.10. branch는 어떻게 만들죠?
    2. 참고 자료

1 CVS 명령어 사용법

1.1 계정생성

  • cvs가 설치되어있는 위치 CVSROOT의 passwd파일에 사용자 ID와 PASSWORD를 입력한다.
    $ cd /home/cvs/CVSROOT/
    $ mkpasswd
    makepasswd - generates system password entry for cvsd

    usage: ./mkpasswd user password

    $ ./mkpasswd test test123
    makepasswd - generates system password entry for cvsd

    put this line into /CVSROOT/passwd
    test:xB0y/2RhqIHx6:cvs

    # passwd파일을 open후 "test:xB0y/2RhqIHx6:cvs"이 라인을 복사하여 추가한다.
    $ vi passwd

1.2 새 프로젝트는 어떻게 만드나요?

$ ls proj/
README a.c a.h
$ cd proj/
$ cvs import -m "this is the project" proj VENDOR INIT
$ ls /var/cvsroot/
CVSROOT/ proj/
$ ls /var/cvsroot/proj/
README,v a.c,v a.h,v

1.3 Login

  1. 최초 로그인 시
    touch ~/.cvslogin
  2. CVSROOT설정
    bash, ksh
    export CVSROOT=:pserver:xxx@test.mobigen.com:/home/cvs
    csh
    setenv CVSROOT :pserver:xxx@test.mobigen.com:/home/cvs

    xxx부분에 계정명을 입력한다.
    예)
    $ export CVSROOT=:pserver:eek@test.mobigen.com:/home/cvs
  3. cvs 를 사용하기 위해서 cvs에 접근하기 위한 권한을 얻는 방법으로 로그인을 합니다. 계정을 만드는 방법은 추후에 내용을 추가 하겠습니다.
    $ cvs login
    Logging in to :pserver:eek@test.mobigen.com:2401/home/cvs
    CVS password:

    비밀번호를 입력합니다.

1.4 Check out

1.4.1 메인버젼 꺼내 오기

  • 현재 개발하고 있는 프로젝트 이름을 입력합니다. 예) mobi
    cvs checkout mobi

1.4.2 특정버젼 꺼내 오기

  • 메인버젼을 개발 도중 특정 버젼으로 패키지한 버젼의 소소코드를 꺼내오기 싶은경우
    cvs checkout -r 버젼_번호 프로젝트명
    예)
    cvs checkout -r r2-8-0 mobi

1.5 Update

  1. checkout한경우 변경된 내용만 받아 올 수 있도록 하는 기능
    • check out한 디렉토리로 이동하여 명령을 실행한다.

    $ cvs update
    ? Makefile
    cvs server: Updating .
    ...
    U htable.C
    U htable.h
    ...
  2. U, P 표시는 cvs에서 수정이 된 파일 기존에 파일이 변경됨
  3. M 표시는 사용자가 파일을 수정한 경우 M flag가 표시됨
  4. C 표시는 사용자가 파일을 수정한 경우 CVS 메인 버젼과 충돌이 생긴 경우
    • 충돌 후 해결을 참조
  5. ? 표시는 CVS에 저장 되어 있지 않는 파일 또는 디렉토리
  6. A 표시는 CVS에 사용자기 추가하기 전 상태 삭제를 적용하기 위해서는 cvs commit명령을 수행한다.
  7. R 표시는 CVS에 있는 파일을 삭제하기 전 상태 삭제를 적용하기 위해서는 cvs commit 명령을 수행한다.

1.6 Commit(저장)

  1. repository로 보낼려면 commit을 수행하면 됩니다.
    수정한 파일 하나만 올린다
    $ cvs commit 파일명
    또는
    수정한 모든 파일을 올린다
    $ cvs commit

1.7 Diff(비교)

  1. 수정된 내용을 확인하고 싶은경우
    $ cvs diff 파일명
  2. 수정된 내용을 이전버젼과 비교하고 싶은경우
    $ cvs diff -r 1.2 파일명

1.8 Remove(삭제)

  1. 파일 지우기
    $ rm 파일명
    $ cvs remove 파일명
    $ cvs commit
    Removing 파일명;
    파일명,v <-- 파일명
    new revision: delete; previous revision: 1.1
    done

1.9 Add(파일 추가)

  1. 파일 추가
    $ cvs update
    ? add_file <-- 아직 추가 되어있진 않은 상태로 보인다.
    $ cvs add add_file1 [add_file2] [add_file3] [add_file4]
    $ cvs update
    A add_file <-- 추가되기 위한 전단계
    $ cvs commit add_file <-- 파일추가
  2. Dir 추가
    • Dir을 추가 하고 앞에 있는 파일은 파일 추가 절차에 따른다.

    $ mkdir a_dir
    $ cvs add a_dir
    $ cvs commit a_dir
    $ cd a_dir
    $ ls
    CVS/
    $

1.10 branch는 어떻게 만들죠?

  1. 특정 버젼 쉽게 만드는 법
    브랜치를 쉽게 만드는 방법입니다.
    $ cvs tag -b BRANCHNAME
    이 명령을 실행한 작업소는 앞으로 이 브랜치로 작업을 하게 됩니다.
  2. ※ 특정 버젼을 가지고 오는 방법을 찾조하시면 됩니다. ;)
$ cvs checkout project; cd project
$ cvs update foo.c
$ cvs tag release-1 .
$ cd ..; cvs release -d project

$ cvs checkout -r release-1 project
$ cvs release -d project


$ cvs rtag -b -r release-1 release-1-patches project
$ cvs checkout -r release-1-patches project
$ cvs commit -m "Fixed printf bug" foo.c
$ cd ..; cvs release -d project

--------------------------------------------------------------------------------
cvs를 사용할 때 Branch를 해서 버젼을 만들고 메인 버젼이 올라가면 다시 메인버젼과 머지를 하고.. 등의 작업을 수행할 때, 먼저 브랜치를 할 파일들에 태그를 달아주고 태그를 기준으로 브랜치를 만드는 것이 편한 것 같습니다.


명령어는 다음과 같습니다.


cvs rtag -r arab -b arab_xxx ggg


이렇게 하면 ggg라는 프로젝트에서 arab 태그가 붙은 것을 arab_xxx 브랜치로 작성하겠다. 라는 의미가 됩니다. 태그는 먼저 달아주어야 하겠지요.


그리고 태그와 브랜치는 다르다는 점을 미리 아시면 좋겠고.. 만일 wincvs를 사용하신다면 graph를 보시게 되면 tag는 검정색 얇은 선 브랜치는 파란색 굵은 선으로 나뉘는 것을 알 수 있습니다. --최성우 / eatingstars.com


브랜치를 쉽게 만드는 방법입니다.
$ cvs tag -b BRANCHNAME
이 명령을 실행한 작업소는 앞으로 이 브랜치로 작업을 하게 됩니다.

2 참고 자료

댓글

이 블로그의 인기 게시물

oradiag_??? 로그 생성안되게 하는 방법

cx_Oracle이나 oci로 개발된 프로그램을 사용하다 보면 $HOME에 orgdiag_사용자계정으로 로그가 대량으로 저장되는 경우가 발생합니다. 이런 경우에 로그가 남지 않도록 하던지 아님 다른 경로에 저장하는 방법은  아래와 같은 방법으로 처리할 수 있습니다. 로그 안남기는 방법은. 환경변수에 추가 export TNS_ADMIN=/home/eek/conf/ 해당경로에 sqlnet.ora파일 생성해서 DIAG_ADR_ENABLED=off TRACE_LEVEL_CLIENT=off LOG_FILE_CLIENT=/dev/null 설정값을 추가하면 로그 파일이 생성되지 않음. 자세한 설정 정보는 http://docs.oracle.com/cd/B28359_01/network.111/b28317/sqlnet.htm#BIIDEAFI 참고하세요. 끝.

Visual Leak Detector - Enhanced Memory Leak Detection for Visual C++

Download Visual Leak Detector - 515.7 Kb Download demo console project - 518 Kb Download demo MFC project - 525.2 Kb Download the source code - 29 Kb What's New 30 March 2005 - Version 0.9d has been newly released. This is a fairly major release that features significant changes to the way VLD interfaces with the application being debugged. With this release, VLD is now packaged in library form. Packaged as a pre-built library, it is now much easier to start using VLD with your projects because it no longer requires you to set-up your build environment in any particular way. For example, you'll no longer need to have the Platform SDK installed in order to use VLD. You also won't need to configure Visual C++'s include search path to include directories in any specific order. Introduction This memory leak detector is superior, in a number of ways, to the memory leak detection provided natively by MFC or the Microsoft C runtime library. First, built-in lea

Jakarta Tomcat을 갖춘 개발 환경으로서의 Eclipse

Jakarta Tomcat을 갖춘 개발 환경으로서의 Eclipse 목차: 왜 Eclipse와 Tomcat 인가? 컴포넌트 다운로드 설치 모든 컴포넌트의 압축 풀기 Tomcat 플러그인을 Eclipse/플러그인 디렉토리에 복사하기 SDK 설치 설정 SDK JRE를 Eclipse용 디폴트 JRE로 설정하기 Tomcat 선택 옵션에서 Tomcat Home 변수 설정하기 Tomcat과 Eclipse를 함께 테스트하기 새로운 Tomcat 프로젝트 만들기 테스트용 JSP 파일 만들기 Sysdeo 플러그인을 사용하여 Tomcat 시작하기 브라우저를 시작하고 index.jsp 파일 보기 참고자료 필자소개 기사에 대한 평가 Subscriptions: dW newsletters Eclipse와 Tomcat 통합의 빠른 길 난이도 : 초급 Geoffrey R. Duck Software Developer, IBM 2004년 5월 Eclipse 를 자바 개발 환경으로 사용하는 것은 대단한 일이다. Eclipse Tomcat 플러그인을 사용하면 자바와 웹 개발 프로젝트를 더욱 훌륭하게 조직화하고 통합할 수 있다. 이 글에서는 Eclipse, Jakarta Tomcat, Eclipse Tomcat 시작 플러그인의 설치부터 단계별로 소개하겠다. 왜 Eclipse와 Tomcat 인가? 나는 초창기부터 Eclipse로 개발해왔고 나의 자바 개발 역사에 발생한 최고의 사건들 중 하나이다. 오직 vi와 JDK 만을 사용하여 리눅스에서 자바 프로그래밍을 해왔던 경험에서 볼 때 자바 프로그래밍과 디버깅은 지루한 작업이다. 이제 Eclipse 덕분