이 Visual Source Safe(이하 VSS)는  Visual C++(이하 VC) 또는 Visual Studio(이하 VS)를

디폴트로 설치할 때 늘 같이 설치되는 Application 입니다.

이 프로그램의 역할을 잘 알지 못하는 사람이 대부분 이여서 설치되어 있어도 그냥 방치하거나

VS을 설치할 때 Custom을 선택해서 설치 옵션에서 빼버리기도 합니다. 하지만 조금만 내용을 아시게 되면 이 프로그램을 꼭 설치할

수 있게 됩니다. 일단 VSS를 설명하기 전 소스 버전 관리라는 것을 먼저 알려드려야 할 것 같습니다.

 

1. 소스 버전 관리 (Source Version Management)

하나의 Application을 만들 때 많은 개발자가 함께 개발을 하게 됩니다. 다양한 사람들이 다양한 생각을 가지고 소스를

다루게 되죠. 이 때 소스의 많은 부분이 붙었다가 떼어졌다가 하게 됩니다. 일부분이 수정되어 지기도 하고 일부분이 추가 되기도

하죠. 물론 회사 나름대로의 정책을 세워 만들어 나가 정리할 수 있겠지만, 악의가 전혀 없는 한 개발자의 실수로 만든

프로그램이 실행도 안되게 만들 수 있겠죠. 이런 것이 누적되었으면 누가 어디를 수정했는지 알 수 없게 되고,

그 실수한 사람이 원래대로 돌릴 수 없는 불상사가 벌어지게 됩니다.

이런 문제를 발생하지 않게 하기 위해 하는 방법이 버전 관리입니다.

즉 소스에 변화가 발생된 시점을 나누어 해당 소스를 저장해 놓는 것이죠. 그래서 변화된 것이 이상이 없는지 확인한 후

버전 대로 Release를 하게 되는 것입니다. 만일 문제가 생겼으면 이전 버전을 다시 돌려놔서 문제가 발생한 부분을 적절하게

고치고 문제가 발생시킨 개발자에게 응징(?)을 날리죠 ^^;;;;;

여러 가지 Application 의 About를 보시면 (V.11.516.589) 이런 것을 보실 수 있을 텐데 이게 바로 Release 버전을 말합니다.

즉 소스에서 버전을 매기고 만든 결과 입니다. 물론 해당 회사의 버전 정책에 따라 틀리겠지만 일반적으로 다음을 말합니다.

11번의 큰 틀의 변경과 516번의 주요 모둘 변경, 그리고 516번째에서 589의 작은 변경을 한 것이죠.

 

대충 이 정도로 하도록 하죠. 버전을 나누는 방법은 상당히 전문적인 내용이 될 수 있습니다.

특히 그룹단위 프로그래머 팀에서야 엄청난 정책이 난무하게 되죠.

하지만 여기는 제목을 보시면 아시겠지만, 혼자 짜는 Application 을 위한 VSS 입니다 ^^;

그러므로 이 기준은 자신이 알기 편하게 나누시기 바랍니다 단순 소스 변화에서도 넣으셔도 좋고, 굵직한 모듈을

붙이고 떼셔도 무방합니다.

 

2. About VSS

일단 버전 관리라는 것을 대략적으로 대충은 아셨으리라 봅니다.

그럼 이 VSS란 무엇일까요? 바로 그 버전 관리를 편하게 도와주는 툴입니다.자동으로 버전을 매겨주고

그 정보를 자동으로 보관해줍니다.게다가, MS에서 만든 것이라서 MS에서 만들어진 개발 툴 모두를 지원합니다.

하지만 워낙 가볍게 만들다 보니 큰 단위의 프로젝트에서 보다는 중,소 규모의 팀 단위 작업에 보통 이용됩니다.

(MS에 다니시는 분들은 다른 툴을 쓰시는 지... 아니면 여러 개의 VSS를 연결해서 쓰시는 지는 잘 모르겠습니다 ^^;;)

워낙 VC 나 VB같은 MS 제품은 VSS에 연계가 잘돼서 상당히 편하게 작업할 수 있게 됩니다.

보통 설치되면 프로그램 메뉴 안에 "Microsoft Visual SourceSafe" 안에 있게 됩니다.  

 

3. 그럼 VSS이 왜 필요할까요?

버전 관리에 여러 사람이 붙어서 개발할 때는 쓸모가 있겠지만,

과연 홀로 프로그래밍하는 사람에게 이 버전 관리 도구가 필요할까요? 라는 반문이 올지 모르겠습니다.

물론 1000 라인 이하의 Source나 2~3개의 Class로 충분히 Application을 만든다면 별 필요는 없을 것입니다.

되려 번거럽기만 하겠죠. 단순히 Source내에 주석만으로 충분히 Version 관리를 수행할 수 있기 때문이죠.

그러나 그 이상의 규모의 Application을 짠다고 한다면, 이야기가 틀려지게 됩니다.

 

VC로 제작하다 보면 Wizard로 소스가 자동으로 생성되고 거기에 자신의 소스를 붙이기 시작합니다. 그러다

이런 저런 생각이 치밀어 올라 CodeProejct 나 CodeGuru 같은 데서 이런저런 소스를 퍼와서 적용하기 시작합니다

그렇게 이곳 저곳을 고치고 난 뒤 다른 곳에서 빌려온 소스를 추가 했습니다.

경험이 있으신 분은 아시겠지만, 처음에는 잘 되다가 어느 순간부터 생각 치도 못한 오류가 발생하기도 합니다.

다행이 늘 소스를 백업을 했다면 다행이지만, 그렇지 않다면 슬슬 문제가 돌출하기 시작합니다.

어디를 고치고 어디를 삭제하고 어디를 추가했는지 모르기 때문에, 전부 실행하면서 Trace를 하게 되고

그 문제점을 찾기에 여념이 없게 됩니다.

그러면서 혼자 "아.... 백업을 충실하게 할걸...." 이라고 한숨을 쉬며 후회를 합니다.

 

이럴때 버전관리를 하고 VSS를 이용하면 손쉽게 위의 문제를 벗어날 수 있게 됩니다. 버전을 되돌려 가면서 어디서 부터는 제대로 돌아갔다는

것을 알기 시작하면 손쉽게 처리 되기 시작합니다. 그리고 그 당시로 소스를 되돌려 찬찬히 다시 작업을 할 수 있겠죠.

지금 부터 홀로 프로그램을 짜시는 분들을 위해 VSS를 설명하기로 하겠습니다.

 

아, 먼저 이 강좌를 실천하려면 VSS가 필요하므로 만일 VSS가 설치되지 않았다면 Visual C++ / Visual Studio 시디로

프로그램 추가/삭제 를 통해 VSS를 설치해 주시기 바랍니다.

VSS를 설치했으면 다음과 같은 메뉴를 보실 수 있습니다.



Analyze & Fix VSS DB, Analyze VSS DB, Microsoft Visual SourceSafe 6.0, Visual SourceSafe 6.0 Admin

이렇게 메뉴가 있을 겁니다. 여기서 실제로 자주 사용하는 것은 두가지 입니다.

Microsoft Visual SourceSafe 6.0 / Visual SourceSafe 6.0 Admin

위의 프로그램을 중심으로 설명해 드리도록 하겠습니다.
728x90

+ Recent posts