COMMUNITY
공지사항토크박스갤러리즐겨찾기자료실광고
관심 문서 수집
관심 문서 수집
관심 문서 수집 게시판 입니다
CVS 명령의 종류
GoodBug http://www.jakartaproject.com
이미지 슬라이더 보기

 

◈  CVS 명령의 종류

명령어 (동의어)                   명령설명
─────────────────────────────────
login                         CVS 서버로 로그인
logout                       .cvspass 파일에서 저장소 제거
import                       프로젝트 파일 등록
checkout (co, get )    프로젝트 파일 가져오기
commit  (ci)               프로젝트 파일 수정 후 CVS서버에 반영
update (up)               CVS 서버의 최신 버젼을 작업 디렉토리에 반영
add (new)                 파일 또는 디렉토리 추가
remove (rm, delete)    파일 삭제
diff                           파일 버젼에 따른 차이점 비교
log (rlog)                  파일 로그 보기
annotate (ann)          행별 정보 출력(작성 날짜, 작성자 등)
status                      파일 상태 보기
history                     각종 히스토리 보기
tag (freeze)              프로젝트 파일들 태깅하기
rtag                          저장소 디렉토리에 태깅하기
release                    모듈 release
─────────────────────────────────

 

◈  login
  # cvs -d :pserver:leejh@172.16.10.84:2401/data/cvs login
  .profile 에 export CVSROOT=:pserver:leejh@172.16.10.84:2401/data/cvs 추가
  # cvs login 만으로 로그인 가능

 

◈  프로젝트 파일 등록
  # cvs import -m "Intranet 프로젝트 시작" Intranet project start
  >> Repository 에 Intranet 디렉토리가 생기면서 Intranet 디렉토리의 내부에
        프로젝트 파일이 들어가게 된다. (위에서는 Intranet 이 모듈명이 된다.)
        -m 옵션 뒤에는 자신이 적고 싶은 말을 적으면 된다.

        그 담에 오는 project 와 start 는 벤드 태그와 릴리즈 태그를 의미하는데
        크게 중요하지 않으므로 아무말이나 적으면 된다.
        만약 환경 변수를 등록하지 않았다면 -d 옵션을 사용해야 한다.
 # cvs -d :pserver:leejh@172.16.100.84:/data/cvs import -m "Intranet 프로젝트 시작"_

               Intranet project start

 

◈  프로젝트 파일 받아오기
  # cvs checkout Intranet
      로그인후 Intranet의 프로젝트 파일 받아오기

 

◈  받아온 파일을 수정한 후 Repository 에 반영하기
  # cvs commit -m "main.c 파일 주석 추가" main.c
  >> -m 옵션 뒤에는 변경한 부분에 대한 설명을 적는다.
  >> -m 옵션 뒤에 적어준 설명은 cvs log 명령을 통해 확인할수 있다. 누가 어떤
        파일에 어떤 부분을 왜 추가하고 수정했는지 다른 사람이 알수 있다.
  >> cvs commit 명령을 내리면 현재 디렉토리 이하로 변경된 파일을 cvs 명령이
        찾아서 vi 화면으로 보여준다. :wq! 명령으로 저장하면 cvs 서버에 반영됨.

 

◈  파일과 디렉토리 추가 및 삭제
  # cvs add newfile.c 수정후
  # cvs commit

  >> 위에서 add 명령을 내리는 것이 실제로 저장소 디렉토리에 적용되는것이
        아니라 CVS/Entries 파일에 newfile.c 파일이 추가되었다는 표시만 한다.
        실제 CVS 서버에 반영하기 위해서는 반드시 cvs commit 명령을 내려야 반영.
  >> 디렉토리 추가 방법도 같다. ( # cvs add [디렉토리명] )
        그러나 cvs 서버에 반영하기 위해서는 일일이 update 해줘야 한다.
        번거로운 문제를 해결하기 위해서 쉘 스크립트를 작성해 사용한다.

 

◈  파일 이전 버젼으로 돌리기
  # cvs status main.c            현재 버젼 파악하기
  # cvs up -r 1.12 -p main.c > main.c
    >> cvs up -r [되돌릴버젼] -p [파일명] > [파일명]

 

 cvs help 사용

 - cvs command -- help

ex) cvs update[ui] -- help

Usage: cvs update [-APCdflRp] [-k kopt] [-r rev] [-D date] [-j rev]
    [-I ign] [-W spec] [files...]
        -A      Reset any sticky tags/date/kopts.
        -P      Prune empty directories.
        -C      Overwrite locally modified files with clean repository copies.
        -d      Build directories, like checkout does.
        -f      Force a head revision match if tag/date not found.
        -l      Local directory only, no recursion.
        -R      Process directories recursively.

 

CVS commands are:

add Add a new file/directory to the repository
admin Administration front end for rcs
annotate Show last revision where each line was modified
chacl Change the Access Control List for a directory
checkout Checkout sources for editing
chown Change the owner of a directory
commit Check files into the repository
diff Show differences between revisions
edit Get ready to edit a watched file
editors See who is editing a watched file
export Export sources from CVS, similar to checkout
history Show repository access history
import Import sources into CVS, using vendor branches
init Create a CVS repository if it doesn't exist
info Display information about supported protocols
log Print out history information for files
login Prompt for password for authenticating server
logout Removes entry in .cvspass for remote repository
ls List files in the repository
lsacl List the directories Access Control List
passwd Set the user's password (Admin: Administer users)
authserver Authentication server mode
rannotate Show last revision where each line of module was modified
rdiff Create 'patch' format diffs between releases
release Indicate that a Module is no longer in use
remove Remove an entry from the repository
rename Rename a file or directory
rchacl Change the Access Control List for a directory
rchown Change the owner of a directory
rlsacl List the directories Access Control List
rlog Print out history information for a module
rtag Add a symbolic tag to a module
server Server mode
status Display status information on checked out files
tag Add a symbolic tag to checked out version of files
unedit Undo an edit command
update Bring work tree in sync with repository
version Show current CVS version(s)
watch Set watches
watchers See who is watching a file
xdiff Show differences between revisions using an external diff program

 

from http://blog.naver.com/ecupid77/80025825548

from http://fnwinter.egloos.com/tb/1172253

 

 

2007-06-11 13:05:15
211.189.124.***

 

좋은생각 ^^

따봉 조또 종합 0 (0명)
덧글 0개 | 태그 1개 | 관련글보기
태그입력
쉽표(,)구분으로 한번에 여러 태그를 입력할수 있습니다
CVS (1)
이름 비밀번호