![]() |
서브버전을 이용한 실용적인 버전 관리 – ![]() Mike Mason 지음, 류광 옮김/정보문화사 |
버전 관리가 뭔지도 모르던 그 때 그 시절에는 그저 파일에 숫자나, 연월일을 붙여가며 해당 파일의 이력을 손수 관리하는 것이 고작 이었다. 그런데 이것이 작업할 때는 잘도 기억나던 숫자의 의미가 시간이 지날 수록 모호해지다가, 어느 순간에는 아무 의미없는 것이 되어 버린다.
사실 그보다 더욱 아까운 건 시간 이었다. 앞으로 나아가도 모자랄 시간에 지난 과거의 흔적들을 더듬느라 시간을 보낸다는 건 낭비다. 그 때 구세주처럼 다가온 것이 VSS와 CVS 였다. 처음엔 정말 환상이었다. 이력을 어떻게 관리해야 할 지 신경쓰지 않아도 알아서 관리해 준다. PC를 포맷해도 문제 없다. 게다가 특정 시점에 태그를 부여하여 스냅샷을 보관할 수도 있다.
그래서 프로젝트나 새로운 회사에서 버전관리를 하지 않는 경우에는 오픈소스인 CVS의 보급에 기여하기도 했다. 그렇게 CVS와 더불어 지내다 보니, 익숙해져서 인지 큰 불편없이 사용해오고 있었다. 불편이 없다기 보다는 익숙해져서 변화를 거부했다는 표현이 맞을 듯 하다. 어디선가 SubVersion을 위시한 몇몇 제품들 이름이 들리기도 했지만, 바쁘다는 핑계로 만남을 거부해 왔었다.
하지만 대세를 거스를 수는 없는 법인가 보다. 웬만한 오픈소스들은 물론이고, 업무 영역에도 SubVersion을 도입하다 보니 사용하지 않을 수가 없다. 이왕 사용하는 거 제대로 사용해 보려고 읽어 보았다.
읽어보니 CVS와 SubVersion은 이름만 달라졌을 뿐 기능상 큰 차이는 없어 보인다.
아, CVS는 파일 단위로 관리를 하며, SubVersion은 커밋 단위로 관리를 한다. 그리고 디렉토리도 버전관리 대상이 된다. 별거 아닌 듯 싶지만 서도 사실은 큰 도움이 될 것 같다. CVS를 사용할 때는 버그 픽스를 할 때 불편했던 기억이 난다. 여러 소스를 수정한 경우 파일단위로 커밋을 하다보니, 나중에 다시 찾아봐야 했을 때 정말 짜증이 났었다.(다시 찾아봐야 했다는 건 그만큼 급박한 일이 생겼기 때문이다.) 그 후 부터는 버그픽스 할 때 건드리는 부분마다 이슈번호를 주석으로 달아 놓았었다. 커밋 단위로 관리한다면 더이상 그럴 일은 없을 것 같다.
번역투의 매끄럽지 못한 글이었지만, 전반적으로 읽기에 어려움은 없었다. 덕분에 그간 무심코 사용해 왔던 버전관리 작업에 대해 다시금 생각해 보고 재정리 할 수 있어 좋았다.