형상관리 병합기능과 병합상태에 대한 이해
형상관리 솔루션 실루엣을 개발하면서 브랜치와 병합에 대한 의견을 다양한 업종에 계신 개발자분들과 이야기 할 기회가 많이 있습니다.
버전관리에 있어서 브랜치기능은 필수라고 생각하시는 분도 계신 반면, 그런거 기능은 있지만 실제로 쓸일이 있나요? 라고 반문하시는 분까지 말입니다.
저의 경험을 대략적으로 정리 해 보면.
-
형상통제 환경(일반적으로 금융권 형상관리 통제상황)에 계시는 분들은 버전관리 프로세스 자체가 병렬개발을 허용하지 않는 경우가 많기 때문에 필요성에 대한 욕구가 작습니다.
-
소규모 사이트 유지보수 상황(조그마한 중소기업 전산실 환경)에 계시는 분들은 해당 업무를 자신 혼자서 담당하는 경우가 많아서 브랜치를 고려 하는 경우가 적습니다.
-
Package를 개발해서 판매하는 상황(실루엣 같은 Package 솔루션을 만들어서 각 사이트 별로 커스터마이징 하는 경우)은 브랜치 및 병합에 대한 욕구가 매우 강합니다만, 일반적인 경우 파일 하나에 대한 브래치라기 보다 특정 모듈 전체에 대한 브랜치 적인 성격이 강합니다.
-
제법 규모가 있는 서비스 사이트(통신사 고객서비스 센터 같은)의 경우에는 사이트는 운영기간동안 국지성 SI사업이 빈번하기 때문에 (신규 서비스가 오픈된다든지 하는) 신규 모듈에 대한 병합과 신규 모듈에 의해서 변경되는 기존모듈의 병합에 대한 욕구가 강합니다.
실제 모듈병합에 대한 제반지식을 포함한 메뉴얼을 아래에 첨부합니다.
실루엣을 사용한 모듈병합기능을 설계하면서 좀더 한국에 있는 개발자들에게 현실적인 도움이 되는 기능이 무엇일까 항상고민합니다. :)
혹시 모듈(업무)에 대한 병합을 고민하고 계신 개발자라면 반드시 실루엣을 사용하지 않더라도, 아래에 정의된 병합의 상태에 대한 가이드가 많은 도움이 되실 것입니다.
![]() |
---|
병렬개발과 모듈 병합에 대한 프로세스 이해 |
![]() |
---|
병합 상태에 대한 이해. 자세한 설명은 위에 첨부된 실루엣 모듈병한 메뉴얼 참조. |
Flag는 3가지 유형의 값을 보여주는 것으로 0 = 없음, 1,2,3은 값이 동일 한지를 의미 합니다.
예를 들어서 1-1-2는 Base와 Mainline이 동일하고 Branch만 다르다는 것을 의미합니다.
![]() |
---|
모듈병합 과정 이미지 |
Enjoy Reading This Article?
Here are some more articles you might like to read next: