모든지 하나를 쓸려면 알아야 하는게 많치만 자주 쓰는 명령어들만 익혀도 별 무리는 없는듯

 

* 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.

...............

command 에 따른 옵션들을 쉽게 알아 찾아볼수가 있다.

 

* cvs 로그인 정보는 .profile 에 기록

 - 리눅스에서 같은 계정을 등록하여 사용할 경우 .bash_profile 을 자신만의 profile 로 카피하여 사용한다.

ex) cp .bash_profile .jhcho_profile

.jhcho_profile 내용

alias javacc='/export/www/jhcho/.javacc'

export CVSROOT=:pserver:jhcho@214.216.176.195/home/webmaste/webhard/source-forge

.........

........

 

* cvs history

cvs log 명령을 통해 저장된 소스 파일의 history 를 볼수 있다.

[webmaste@test controller]$ cvs log BaseAction.java

----------------------------

revision 1.2

date: 2004/11/08 04:41:49;  author: jhcho;  state: Exp;  lines: +1 -13

가상메소드변경

----------------------------

revision 1.1

date: 2004/11/04 01:44:35;  author: jdjang;  state: Exp;

기본 엑션 크랠스

 

* 잘못 checkin 하여 이전 버전의 소스를 가져오고 싶을 경우

cvs update 명령을 통해 버전에 맞는 파일을 가져 올수 있다.

> cvs update -f 1.2 BaseAction.java

 

* binary 파일을 저장소에 올릴때

> cvs add -kb *.gif

 

* update 를 통한 repository 디렉토리 생성

: 작업 디렉토리를 기준으로 저장소에 만들어져 있는 디렉토리가 생성이 되므로 원치않는 디렉토리가 생길수도 있다.

> cvs update -d

 

 

참고 사이트

-  cvs quick reference guide

cvs FAQ

cvs 사용

[출처] 몇가지 cvs 명령어|작성자 블즈


------------------------------------------------------------------------------------------------------------------



윈도우에서 CVS를 사용하기 위한 몇가지 Tip을 적어 볼까 한다.
사 실 cmd 기준으로 쓸꺼고 기본적이어서 대부분 잘 알겠지만 그리고 Tortoise를 쓴다면 굳이 이러한 명령어를 알 필요는 없지만 그래도~ 명령어를 알아두면 좋지 않을까 하는 생각에 Tortoise에서 쓰는 몇가지 중요한 키워드를 적어볼까한다.






새 모듈

"cvs.exe" "-q" "import" "-m" "" "WindowsApplication1" "tcvs-vendor" "tcvs-release"
"cvs.exe" "-q" "checkout" "-d" "WindowsApplication1" "WindowsApplication1"

CVSROOT=:pserver:fnwinter@server_ip:/2005/11/TeamTie

Tortoise Tip: The top-level folder has now been created in CVS.
To add files and subfolders, invoke the CVS Add Contents command.

새 모듈을 만들기 위해서는 저런 Command를 날려주네, import는 소스를 CVS로 옮겨주는 명령어이고
-q는 조용하게 작업하라는 내용, -m은 메세지, 그리고 "tcvs-vendor" 는 vender 태그, "tcvs-release"는 release 태그이네요.






추가

이 명령어는 폴더안의 모든 파일을 ADD 하는 명령어

"cvs.exe" "-q" "add" "TeamTieFiles"

그럼 아래와 같은 결과 화면이 나온다.
CVSROOT=:pserver:fnwinter@server_ip:/2005/11/TeamTie
? TeamTieFiles/Backup
? TeamTieFiles/BugLog
? TeamTieFiles/Documents
? TeamTieFiles/TTConfig.xml
? TeamTieFiles/TeamLog
Directory /2005/11/TeamTie/WindowsApplication1/TeamTieFiles added to the repository
CVS 명령이 성공적으로 완료되었습니다.

이것은 파일 하나만 추가하는 명령어
"cvs.exe" "-q" "add" "-kb" "App.ico"
CVSROOT=:pserver:fnwinter@server_ip:/2005/11/TeamTie
cvs server: use 'cvs commit' to add this file permanently
CVS 명령이 성공적으로 완료되었습니다
"-kb"는 바이너리라는 것을 알려준다.




체크 아웃

서버에서 코드를 얻어오는 명령어
"cvs.exe" "-q" "checkout" "-P" "-f" "WindowsApplication1"

CVSROOT=:pserver:fnwinter@210.118.56.8:/2005/11/TeamTie
U WindowsApplication1/WindowsApplication1/App.ico
U WindowsApplication1/WindowsApplication1/AssemblyInfo.cs
U WindowsApplication1/WindowsApplication1/TEST.txt
U WindowsApplication1/WindowsApplication1/TEST_Tag.txt
CVS 명령이 성공적으로 완료되었습니다.





커밋

커밋은 수정 된 파일을 서버에 갱신 시켜주는 명령어
"cvs.exe" "-q" "commit" "-m" "" "WindowsApplication1/App.ico"
CVSROOT=:pserver:fnwinter@server_ip:/2005/11/TeamTie
RCS file: /2005/11/TeamTie/WindowsApplication1/WindowsApplication1/App.ico,v
done
Checking in WindowsApplication1/App.ico;
/2005/11/TeamTie/WindowsApplication1/WindowsApplication1/App.ico,v  <--  App.ico
initial revision: 1.1
done
CVS 명령이 성공적으로 완료되었습니다.
여기서 "-q" 와 "-m" 위에서와 같이 전역적인 옵션으로 조용히 작업해라 와 메세지를 남기겠다라는 의미입니다.
그리고 ""는 메세지를 그냥 공백으로 채워 넣은 거네요. tortoise는 이런식으로 작업하네. 제가 tortoise 코드를 좀 보았는 데, 뭐랄까. C 코드도 많고 역시 외국얘들 코드는 보기 힘들어여~

"cvs.exe" "-q" "commit" "-m" "test_comment" "WindowsApplication1/AssemblyInfo.cs"
CVSROOT=:pserver:fnwinter@server_ip:/2005/11/TeamTie
Checking in WindowsApplication1/AssemblyInfo.cs;
/2005/11/TeamTie/WindowsApplication1/WindowsApplication1/AssemblyInfo.cs,v  <--  AssemblyInfo.cs
new revision: 1.2; previous revision: 1.1
done
CVS 명령이 성공적으로 완료되었습니다.
이것 역시 파일을 커밋하는 명령어





차이

"cvs.exe" "-q" "checkout" "-r" "1.2" "-d" "temp" "WindowsApplication1/WindowsApplication1/AssemblyInfo.cs"
CVSROOT=:pserver:fnwinter@server_ip:/2005/11/TeamTie
U temp/AssemblyInfo.cs
CVS 명령이 성공적으로 완료되었습니다.

현재 로컬에 있는 파일하고 CVS 서버에 있는 파일하고 차이점을 보여주는 명령어입니다.
버전이 "1.2" 와 비교를 하겠다는 것이고 "-d" "temp" 는 temp 디렉토리를 사용하겠다는 건데, 서버에서 받아서 이곳에 잠시 저장했다가 비교를 합니다. 역시 "-q"는 조용히 작업하라는 말이고요






히스토리

"cvs.exe" "-q" "log" "AssemblyInfo.cs"
CVSROOT=:pserver:fnwinter@server_ip:/2005/11/TeamTie

그 파일의 히스토리를 보여줍니다.





 
로그인

cvs login

서버 로그인 합니다.





 
삭제

"cvs.exe" "-q" "remove" "TEST.txt"
CVSROOT=:pserver:fnwinter@server_ip:/2005/11/TeamTie
cvs server: use 'cvs commit' to remove this file permanently
CVS 명령이 성공적으로 완료되었습니다.
Tortoise Tip: Use "cvs commit" on the folder that the file is in to remove it permanently.

파일을 삭제 합니다. 로컬상의 파일도 지워 주는 건 Tortoise에서 해주는 거네요.





 
태그

"cvs.exe" "-q" "tag" "-c" "test_tag" "WindowsApplication1/TEST_Tag.txt"
CVSROOT=:pserver:fnwinter@server_ip:/2005/11/TeamTie
T WindowsApplication1/TEST_Tag.txt
CVS 명령이 성공적으로 완료되었습니다.

파일에 태그를 남겨서 그 버전에서 어떠한 것이 수정 되었는 지 알려주는 역할을 하게 됩니다.
이외에도 브랜치나 릴리즈를 할 때에 버전을 나누거나 완료 하는 경우에 이 태그를 통해 구별해 줍니다.








업데이트

업데이트도 ADD와 같이 폴더 전체를 업데이트 하는 경우가 있고 파일만 업데이트 하는 경우가 있습니다.
소스세이프에서는 Get Lastest Version으로 업데이트를 하는 데, 수정이 된 경우 강제로 업데이트 할 것인지
아니면 냅둘것인지 물어보는 데 CVS 경우는 파일을 지우고 update를 해줘야 같은 기능으로 작동하네요.

"cvs.exe" "-q" "update" "-d" "-P" "-f" "WindowsApplication1/AssemblyInfo.cs"
CVSROOT=:pserver:fnwinter@server_ip:/2005/11/TeamTie
M WindowsApplication1/AssemblyInfo.cs
CVS 명령이 성공적으로 완료되었습니다.

요것이 폴더 전체를 다시 업데이트 하는 경우 입니다.
"cvs.exe" "-q" "update" "-d" "-P" "-f" "WindowsApplication1"
CVSROOT=:pserver:fnwinter@server_ip:/2005/11/TeamTie
? WindowsApplication1/Form1.cs
? WindowsApplication1/Form1.resx
? WindowsApplication1/WindowsApplication1.csproj
? WindowsApplication1/WindowsApplication1.csproj.user
? WindowsApplication1/bin
? WindowsApplication1/obj
U WindowsApplication1/AssemblyInfo.cs
R WindowsApplication1/TEST.txt
CVS 명령이 성공적으로 완료되었습니다.






버전 정보
"cvs version"

말 그대로 CVS 버전 정보를 얻어오는 것이고 CVS에 대한 자세한 내용은 "-t" 옵션을 통해서 얻을 수 있습니다.
 
 
 
츨처 : http://fnwinter.egloos.com/1228555

+ Recent posts