티스토리 뷰

IT

형상관리와 소스세이프

현정경 2021. 5. 31. 05:58

Visual SourceSafe 6.0

형상관리 Tool이 SVN, Git보다 소스세이프가 더 많이 쓰이던 시절이 있었다. 소스세이프를 마소가 인수하면서 Visual Studio에서 애드온 형태로 따라오는 녀석이라 자연스럽게 닷넷 실무 환경에 자주 사용되게 되었다.

이게 왜 소스세이프냐 하면 형상관리를 매우 안전하게 관리할 수 있게 해준다는 의미가 아니었을까? 이놈은 소스를 수정할 때 웃기게도 체크아웃을 한 사람만 편집할 수 있게 하고 나머지 개발자에겐 편집할 수 없게 락이 걸린다. 멀티쓰레딩 기법에 빗대어 말하자면 하나의 자원의 사용에 있어 다른 쓰레드에 대해 안전하다는 의미와 같다. 경제학 용어로는 배재성이라고 말할 수 있겠다. 하지만 SVN이나 Git은 비-배재성의 특성을 갖는다.

이런 점 때문에 형상관리를 매우 안전하게 운용할 수 있긴 하지만 양날의 칼이기도 하다. 여러 개발자들과 협업할 경우에 불편함이 많을 수밖에 없기 때문에 Visual Studio의 애드온이라는 접근성 좋은 위상에도 불구하고 실무 현장에서 SVN, Git을 주로 사용하는 분위기가 조성되었다. 이것은 현장의 입장에서 형상관리의 안전성보다 효율성을 더 많이 중시했기 때문이 아닐까.

여기서 소스세이프의 장점을 꼽으라면 안전성이기도 하지만 이보다 더 중대한 장점이 있다. 바로 소스 수정에 대한 JIT(just-in-time) 관리가 가능하다는 점이다. 좀 고상하게 JIT라고 했지만 별 거 아니다;; 예를 들어 화면개발하는 응용프로그래머가 공통단 소스를 수정하려고 체크아웃하면 협업하는 모든 팀들에게 누구누구가 체크아웃했다는 게 뜬다. 그러면 프레임워크팀에서는 그쪽을 계속 보고 있을 수밖에 없고 결국 락이 걸린 걸 바로 확인하게 된다. 그러면 바로 그 사람 자리로 가서 그거 뭘 건들이시는 거냐고 따지러 오는 무서움이 있었다. 혹은 남이 자기 소스를 체크아웃 하면 즉시 와서 "뭐야? 뭔데??" 하며 따지러 옴ㅋㅋㅋㅋ 덕분에 클래스 파일을 세세하게 나누어 설계하는 버릇도 들이게 되고.. OOP에 충실하게 설계하는 분위기도 있었다. 그걸 못나누면 여러 사람 불편하게 되니깐..

근데 요새는 SVN이니 Git을 쓰다보니 아무나 막 건드리니까 다음날 출근해서 다들 업데이트 받을 때에서야 난리가 나는 헤프닝이 벌어진다.

옛날 : (사건 즉시) 뭐야? 당신 왜 거길 건드려?
요새 : (다음날 아침) 누구야?? (로그를 확인한다) 너냐.?

소스세이프 하던 시절이 떠올라서 잡썰이나 풉니다. 그때가 그립..지는 않군요(?)

[이관 글. 2020/03/05 작성]