ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 버전 관리 시스템(version control software; 형상관리 툴?)
    개발/형상(?) 관리 2016. 9. 18. 15:36

    - 소프트웨어 형상 관리(SCM: Software Configurat ion Management)

    1)소프트웨어 변경 요구가 발생한 것부터 구현까지의 전 과정을 제어하고 기록하고 보고하는 변경 관리

    2)개발 주기 동안의 변화하는 코드와 라이브러리, 관련 문서 등을 저장하고 관리하는 버전 관리

    3)제품의 릴리즈나 빌드에 반영된 변경을 감사하고 관리하는 릴리즈 관리


    -

    CVS(Concurrent Version System)는 1986년 Dick Grune에 의해서 개발된 가장 대중적인 버전관리 시스템이다. 오랜 시간 개발자들에게 버전관리 시스템의 대명사로 불리다 보니, 버전관리를 위한 다양한 기법들이 연구되었다. 그 결과로 윈도우 버전과 웹 버전, 편리한 GUI 클라이언트 등도 개발되었다. 현재까지도 많은 프로젝트나 기업에서 CVS를 버전관리 시스템으로 사용하고 있다. 그러나 CVS 프로토콜은 한 번 등록된 디렉토리나 파일의 이동이나 이름 변경을 허용하지 않았으며, 역사적으로 RCS를 따라 나왔기 때문에 개별 파일 단위로만 버전관리가 되었다. 그 뿐 아니라 아스키코드로 된 파일명만 지원할 뿐 유니코드에 대한 지원이 제한적이어서 우리나라처럼 유니코드로 지원되는 언어를 쓰는 국가에서는 파일 이름을 모두 영어로 변경해야 했다.

     

    2004년부터 CVS의 핵심 개발자들이 보다 나은 CVS를 표방하며 개발하기 시작한 SVN(SubVersion : 서브버전)이 등장한 이후에는 버전관리 시스템의 대명사라는 자리는 빠르게 SVN으로 옮겨가고 있다. CVS와 비교한 SVN의 장점은 다음과 같다.

     

    ● 소스코드 뿐 아니라 바이너리(문서/라이브러리 등)도 지원한다.

    ● 커밋의 단위가 개별 파일이 아닌 변경된 작업 단위이다.

    ● 디렉토리나 파일 별로 세밀한 접근제어가 가능하다.

    ● CVS에 비해 빠르다.

    ● CVS와 개념 및 사용법이 거의 같아서, CVS 사용자가 쉽게 옮겨올 수 있다.



    참조 사이트:

    http://blog.naver.com/mirnae/100042894917

    http://www.allofsoftware.net/2011/10/svn-git.html

    http://seungzzang.blogspot.kr/2013/04/git-svn-svn-git.html


Designed by Tistory.