2009년 5월 8일 금요일

Subversion

JSVM 코드를 수정하여 제안하는 아이디어를 구현해서 실험하고 있었습니다.

주석을 달기는 하지만 언제 수정했는지 알 수 있도록 주석을 달지 않았더니, 잘못 수정한 코드를 되돌리려니 도통 찾기가 쉽지 않네요.

 

전에 하드웨어를 연구실에서 공동으로 설계하면서 사용하던 CVS는 잘 알고 있었지만, 써보니 좀 불편한 점이 있었습니다. 그래서 전에 살짝 들어서 알고 있던 Subversion (svn)을 사용해 보았습니다.

사용방법은 CVS와 거의 동일하기 때문에 어렵지는 않았습니다.

 

소프트웨어 혹은 하드웨어(코드)의 버전 관리 시스템은 꼭 공동으로 개발하지 않더라도, 개인이 자신이 수정하는 코드에 대한 로그를 남길 수 있으므로 매우 유용합니다. 게다가 나중에 이전 버전으로 되돌릴 수 있는 막강한 기능이 있으므로 소프트웨어쟁이 뿐만 아니라 하드웨어쟁이 한테도 매우 유용하다고 할 수 있습니다.

저도 H.264 디코더 하드웨어 설계 PM 시절에 후배들한테 이것을 통해서 공동개발하도록 권유하였고, 실제로 사용해보니 많은 장점이 있었습니다.

 

이번에 저도 JSVM 코드를 수정할 때에 CVS가 아닌 svn을 사용하여 코드의 버전을 관리하고자 합니다.
서버에는 이미 svn이 설치되어 있었기 때문에 특별히 제가 할 일은 없었습니다.

코드는 다음에서 얻을 수 있습니다. 클릭

 

버전 관리 시스템의 공통적으로 쓰이는 몇 가지 명령어를 소개해 드리면 아래와 같습니다.

  • Checkout: 저장소에서 소스를 받아오는 것입니다.
  • Commit: Checkout한 소스의 수정, 파일 추가, 삭제 뒤에 저장소에 갱신하는 것입니다. 리비전이 1 증가하게 됩니다.
  • Update: Checkout이후에 다른 사람에 의해서 코드가 수정되고 Commit된 경우, 변경된 코드로 업데이트 하는 것입니다.
  • Import: 아무것도 들어있지 않은 저장소에 맨 처음 소스를 넣는 작업입니다.
  • Export: 릴리즈할 때에 사용하는 것으로서 버전 관리 파일을 제외하고 소스파일만 받아올 때에 사용합니다.

 

(위의 내용은 http://wiki.kldp.org/wiki.php/Subversion-HOWTO 에서 발췌하였습니다.)

 

서버에서만 실행할 것이기 때문에 daemon을 통해서 svn:// 프로토콜로 코드를 받아 올 수 있도록 한 상태입니다.

관심있으신 분은 위의 위키를 참조하시면 됩니다.

 

현재는 Trac의 사용법을 익혀볼 예정입니다. 서버에는 설치할 것이 많아서 제 컴퓨터에만 설치해서 로깅용으로 사용해 볼 것입니다.

추후에 관련된 내용은 포스팅할 수 있도록 하겠습니다.

 

수정!

image

윈도우에 설치해서 서버에서 svn으로 올렸을 때의 모습입니다. 각 코드의 라인별로 수정한 내용이 나오네요. 대단합니다. :)

댓글 1개:

  1. trackback from: helloska의 생각
    Subversion JSVM 코드를 수정하여 제안하는 아이디어를 구현해서 실험하고 있었습니다. 주석을 달기는 하지만 언제 수정했는지 알 수 있도록 주석을 달지 않았더니, 잘못 수정한 코드를 되돌리려니 도통 찾기가 쉽지 않네요.   전에 하드웨어를 연구실에서..

    답글삭제