얼마전에 웹로봇을 변환한 뉴스수집기를 만든적이 있었는데 작업후 작업 PC를 포멧한답시고 소스코드를 날려버린적이 있었다.
그 뉴스수집기를 업데이트를 해야되는데 참 많은 고생을 한 기억이 있다.
그래서 미루고 미뤄오던 소스코드 버전관리를 시작하였다.
솔직한 고백을 하자면 소스코드 버전관리는 여러사람이 공통코드를 가지고 작업할때 충돌을 방지하기 위해 사용하는거라는 생각으로 나처럼 특정 모듈을 혼자 개발하고 테스트 하고 업데이트 하는 경우에는 별루 필요하지 않을거라는 자기 위안을 하고 지네온게 사실이다. 그러다 프로그램이 여러 브렌치(branch)를 가지게 되고 하다보니 이 프로그램의 여러 버전에 관해서 컨트롤을 할 필요성을 느끼게 되었고 결정적으로 소스코드를 날려먹음으로서 관리를 하기 시작하였다.
결국 잘못을 저질러 놓고 관리를 하게되었으니 나도 참 바보같다.
전에 CVS를 잠깐 사용한 경험이 있어서, 이번에는 Subversion을 사용하기로 했다. 뭐 CVS보다 좋다고는 말씀을 많이 하시는데 아직 경험부족으로 이게 왜 좋은지는 모르겠고 차차 쓰다보면 그 고마움을 알게 될것이다라는 생각으로 SVN서버 설치하고, TortoiseSVN을 클라이언트에 설치했다.
물론 이 설치나 사용과정에 대해서 모두 인터넷을 찾아보고 해본건 아니였다. 요즘 강컴에서 상위에 랭크되어 있는 “서브버전을 이용한 실용적인 버전 관리“라는 책을 이용해서 수행했다.
내가 만들었던 형태소 분석기, 웹로봇, UrlServer, 검색 Admin Tool, 사전파일 및 사전생성스크립트, 개인정보스케너 등등 소스코드를 모조리 저장소(repository)에 넣어두었다. 물론 소스코드보안에도 신경을 써야겠다.
큭~! 오전 내내 관리환경 만드느라 재미있었다.
버전관리의 필요성을 깨닫다 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.