분산 동시 버전 시스템
Distributed Concurrent Versions System| 개발자 | elego 소프트웨어 솔루션 Gmbh |
|---|---|
| 초기 릴리즈 | 2002년 8월, 전( |
| 최종 릴리즈 | 1.0.3 / 2006년9월 25일, 전( |
| 기입처 | C |
| 운영 체제 | Unix 계열, Windows |
| 유형 | 리비전 관리 |
| 면허증. | GNU 일반 공중 라이선스 |
| 웹 사이트 | dcvs |
DCVS(Distributed Concurrent Versions System)는 로컬로 분산된 사이트에서 작업하는 소프트웨어 개발자가 소프트웨어 프로젝트에서 효율적으로 협업할 수 있도록 하는 분산 리비전 제어 시스템입니다.DCVS는 잘 알려진 버전 관리 시스템 Concurrent Versions System을 기반으로 합니다.코드는 GNU 및 BSD 스타일의 라이선스로 자유롭게 배포할 수 있습니다.
동기
CVS는 순수한 중앙집중형 조직모델을 기반으로 하며 오프라인 지원은 거의 없습니다.거의 모든 버전 제어 작업을 수행하려면 저장소에 직접 액세스해야 합니다.따라서 전 세계에 분산된 소프트웨어 개발 작업은 CVS를 사용할 때 심각한 성능 문제에 직면합니다.DCVS는 많은 사이트에 중앙 CVS 저장소를 배포하여 이 문제를 해결합니다.
특징들
DCVS는 모든 CVS 기능을 제공합니다.그러나 CVS와 달리 DCVS 시스템은 John D에 의해 개발된 프로그램인 CVSup의 확장 버전에 의해 콘텐츠가 백그라운드에서 동일하게 유지되는 지리적으로 분산된 임의의 수의 저장소로 구성될 수 있습니다.폴스트라DCVS 저장소, 확장 CVSup 서버 및 DCVS 서버 프로그램의 조합을 다음 단락에서는 DCVS 서버라고 부릅니다.
모든 개발 라인의 컨텐츠는, 어느 DCVS 서버로부터도 개발자가 소유하는 DCVS 워크스페이스에 체크 아웃 할 수 있습니다.diff, patch, log, annotate 등 저장소를 변경하지 않는 모든 작업은 CVS와 동일하게 동작하지만 항상 로컬 저장소를 사용하기 때문에 분산 시나리오에서는 훨씬 빠릅니다.충돌 및 데이터 손실을 방지하기 위해 각 DCVS 서버에는 일련의 개발 회선(DCVS 브랜치)이 할당되어 있습니다.브랜치에 대한 변경은 브랜치를 담당하는 서버에서만 체크인할 수 있습니다.개발 라인에 따라 변경 내용을 분리함으로써 DCVS 네트워크의 변경 내용을 자동으로 전송 및 배포할 수 있습니다.로컬 DCVS 서버가 담당하지 않는 개발 회선의 변경을 커밋하는 담당자는, 새로운 개발 회선(브런치)을 작성해, 변경을 커밋 할 수 있습니다.로컬 서버는 새로 작성된 모든 개발 라인을 자동으로 담당합니다.
한편, 모든 개발자는 로컬 DCVS 서버가 담당하지 않는 개발 라인으로부터의 변경을 로컬 개발 라인에 통합할 수 있습니다.따라서 작업 현장에서 이루어진 모든 변경은 담당 DCVS 서버상의 개발자가 머지 조작을 실행함으로써 원래 브랜치에 적용할 수 있습니다.
변경 세트의 기능을 통해 개발자는 기능 또는 결함과 관련된 작은 변경 세트를 생성할 수 있으며, 다른 사용자가 이를 적용할 수 있습니다.
특정 번호 체계를 사용하면 개발 회선 및 델타가 특정 DCVS 서버에 속하는 것으로 식별할 수 있습니다.DCVS는, 각 페어(서버/수집)에 일의의 브랜치 번호 범위를 할당합니다.모든 서버 및 컬렉션의 모든 범위는 서로 배타적이어야 합니다.서버, 컬렉션 및 범위에 대한 정의는 단일 구성 파일에서 읽습니다.이 파일의 내용을 참조하는 것으로, 모든 DCVS 서버는, 특정의 파일의 특정의 브랜치 또는 델타 중 어느 쪽을 담당하고 있는지를 판단할 수 있습니다.이 경우 모든 변경 조작이 허용됩니다.그렇지 않은 경우 변경 조작은 적절한 리모트서버에서만 가능합니다.
또한 구성의 실제 이름인 태그는 서버 고유의 접미사(예를 들어 _at_dcvs_mydomain_org)를 사용하여 정확히 하나의 DCVS 서버에 고유하게 할당됩니다.따라서 태그 이름 공간에서 충돌이 발생하지 않습니다.
역사
DCVS는, 베를린/독일의 Elego Software Solutions GmbH의 팀원에 의해서 개발되고 있습니다.DCVS의 첫 번째 릴리스는 2002년 8월이었다.2005년 11월에 버전 1.0.2가 출시되었습니다.