1 / 16

CVS(Concurrent Version System)

CVS(Concurrent Version System). GunWoo Lee Pllab Dept. of CSE. PNU 2006. 01.12. Contents. Introduction Install Login / Logout Upload / Download Update Add / Remove Etc command About TortoiseCVS Conclusion / Reference. 1.Introduction of CVS.

kalil
Download Presentation

CVS(Concurrent Version System)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CVS(Concurrent Version System) GunWoo Lee Pllab Dept. of CSE. PNU 2006. 01.12 CVS(Concurrent Version System)

  2. Contents • Introduction • Install • Login / Logout • Upload / Download • Update • Add / Remove • Etc command • About TortoiseCVS • Conclusion / Reference CVS(Concurrent Version System)

  3. 1.Introduction of CVS • 공동으로 프로젝트를 수행할 때 발생할 수 있는 소스 충돌이나 소스 동기화 문제들의 해결. • 프로젝트의 성격상 모듈화 개발이 어려워 하나의 소스를 공유하여 개발하는 경우 적합. root 익명 User User cvs_user cvs_user User User CVS Server CVS(Concurrent Version System)

  4. 2.System 설정 • Test Server/Client-Linux Debian Sarge의 동일한 Server/Client • 설정1.Debian Package 관리툴 aptitude를 이용하여 CVS(1.12.9)를 설치2.CVS 사용자 추가3.Directory생성 및 초기화4.inetd Daemon restart CVS(Concurrent Version System)

  5. 3.Client에서의 CVS 사용법(계속) • Logincvs –d :pserver:usr_name@cvs_server_addr(addr:PortNo:Path) login※.bash_profile에 옵션 인자를 환경 변수로 추가-export CVSROOT= :pserver:usr_name@cvs_server_addr(addr:PortNo:Path)ex)cvs –d :pserver:cvs@leoric99.dnip.net:2401/home/cvs login • Logoutcvs logout CVS(Concurrent Version System)

  6. 3.Client에서의 CVS 사용법(계속) • Uploadcvs import –m “Message” [Project_Name] [Bend_Tag] [Release_Tag]ex)cvs import –m “test” test test first※-d 옵션을 함께 사용하면 하위 폴더까지 모두 upload가 된다. CVS(Concurrent Version System)

  7. 3.Client에서의 CVS 사용법(계속) • Downloadcvs checkout(co) [Project_Name]ex)cvs checkout(co) test※하위 폴더까지는 download되지 않는다. 하지만 TortoiseCVS에서는 가능하다. CVS(Concurrent Version System)

  8. 3.Client에서의 CVS 사용법(계속) • Update(Client->Server)cvs commit(ci) –m “Update_content” [file_name]ex)cvs commit(ci) –m “main.c 주석 추가”main.c • Update(Client<-Server)cvs update(up)※Sever에 저장된 파일의 버전이 더 높다면 Client에서는 commit할 수 없다. 따라서 항상 update를 하여 버전을 맞추어 주는 것이 중요. CVS(Concurrent Version System)

  9. 3.Client에서의 CVS 사용법(계속) • Add Filecvs add [newfile]※add 명령어는 바로 cvs_server로 해당 파일을 add하는 것이 아니라 client의 CVS/Entries 파일에 추가만 시켜둔다. 실제 파일의 add는 Update(commit)까지 수행이 되어야 한다. • Add DirectoryFile을 add하는 방식과 동일하지만 아직 cvs에서는 directory_tree를 add하는 기능이 없어 보통 script를 이용한다. CVS(Concurrent Version System)

  10. 3.Client에서의 CVS 사용법(계속) • Remove File①Client에서 file 삭제(rm file_name)②cvs remove [file_name]③cvs ci –m “delete_content”※remove 명령어 또한 바로 cvs_server의 해당 파일을 제거하는 것이 아니라 복원을 위해 cvs_server의 Attic폴더로 옮겨둔다.마찬가지로 실제 파일의 remove는 Update(commit)까지 수행이 되어야 한다. CVS(Concurrent Version System)

  11. 3.Client에서의 CVS 사용법(계속) • Remove DirectoryCVS_System에서 직접 지워야 함. • 복원①cvs status [file_name]②cvs up –r [version] –p [file_name] > [file_name]③cvs update CVS(Concurrent Version System)

  12. 3.Client에서의 CVS 사용법(계속) • 기타 명령어-버전 변경cvs up –r [previous_version] –p [file_name] > [file_name]-log확인cvs logcvs annotate(ann) [file_name]-version별 차이점 확인cvs diff –r [previos_version] –r [current_version] [file_name]cvs diff –r HEAD [file_name]-sticky_tag 제거cvs up –A [file_name]-특정 시점의 표시cvs tag [tag_name] CVS(Concurrent Version System)

  13. 4.CVS의 장·단점 • 장점-System구축이 쉬움.-사용자별 권한 부여가 용이.-자동 Version관리 뿐 아니라 백업의 기능도 수행. • 단점-Directory의 생성과 제거-Web Interfacing-atom commit을 미지원 CVS(Concurrent Version System)

  14. 5.Windows 기반의 CVS Tool • TortoiseCVS-GUI를 기반으로 하는 CVS Tool-한글 지원-Drop Menu방식으로 사용이 용이 CVS(Concurrent Version System)

  15. 6.Conclusion • Linux를 기반으로 하는 System에서는 package로 CVS가 제공되기 때문에 설치 및 관리가 쉬움. • 배우기 쉬워 사용에 익숙해진다면 Project의 Version관리 및 release가 용이할 거 같음. • Web기반의 Interfacing이 아니라 consol환경 기반의 Interfacing제공이 아쉬움. • CVS를 사용해보고 여러 단점들의 개선을 원한다면 Subversion-Tool의 사용을 고려. • Tortoisecvs는 Interface뿐 아니라 directory관련 단점들을 모두 보완해 준다. CVS(Concurrent Version System)

  16. 7.Reference • Book-유닉스·리눅스 프로그래밍 필수 유틸리티-버전관리 using CVS • WWW-http://www.oops.org/lecture.php?c=black&s=cvs-http://www.ximbiot.com/-http://www.wincvs.org/-http://www.tortoisecvs.org/ CVS(Concurrent Version System)

More Related