저장소의 내용 일부를 외부 저장소에 그대로 반영시켜야 할 때가 있습니다. 예를 들면, 개발팀의 소프트웨어를 QA팀에 제공한다든지 할 때입니다. 이런 일을 할 때에도 어떤 방법이 가장 효율적일지 생각해 봐야 합니다.
우선 이럴 때 접근 권한을 어떻게 할 것인지 정해야 합니다. 예를 들어, 개발팀의 저장소를 열어 주고 QA팀에게 읽기 권한만 줄 수도 있을 것이고, QA팀에게 저장소를 열어 달라고 하고 쓰기 권한을 얻을 수도 있을 것입니다. 전자의 방법을 채택하면 동기화를 고민할 필요가 없으니까 제일 좋습니다. 여기서는 후자의 방법을 채택해야만 하는 상황을 가정합니다.
동기화 방법으로 제일 쉽게 떠오르는 것은 변경된 파일을 모았다가 QA팀의 저장소에 복사하고 직접 커밋하는 방법일 것입니다. 하지만 이 방법은 변경된 파일 목록을 일일이 관리해야 하는 문제가 있으므로 추천하지 않습니다.
대안은 서브버전이 관리해 주는 변경된 파일 목록을 이용해 합병(merge)을 사용하는 방법입니다. 이 방법은 개발팀에서 QA팀에게 최신 소프트웨어를 항상 제공하고 싶지는 않을 때 좋습니다. 개발팀에서 소프트웨어를 넘겨 줘야 할 때마다 QA팀 저장소에 합병하면 됩니다.
만약 QA팀이 개발팀의 최신 버전을 항상 자동으로 얻고 싶어 한다면, 서브버전의 external 기능을 사용하면 됩니다. 동기화가 자동으로 되므로, 특별한 문제가 없다면 이 방법이 좋겠습니다.

댓글을 달아 주세요