2009-05-18 4 views

답변

7

다른 VCS는 서로 다른 접근 방식을 사용합니다. 예를 들어 CVS는 커밋하는 각 파일에 대해 서버에 파일을 만듭니다. 이것은 본질적으로 RCS 형식의 파일입니다. CVS는 디렉토리 하위 트리의 여러 파일에 대해 RCS 명령을 실행하는 RCS에 대한 래퍼입니다 (RCS는 단일 파일에서만 작동 할 수 있음).

RCS 파일에는 변경 목록 (버전 번호, 체크인 메시지 및 변경된 항목)이 포함됩니다. 그 후 현재 HEAD 버전의 복사본이 제공됩니다. 파일의 나머지 부분은 버전 간의 차이입니다 (long explanation).

이렇게하면 CVS는 가장 자주 요청되는 HEAD 버전을 빠르게 반환하고 다른 버전을 계산할 수 있습니다.

CVS는 유효성 검사를 수행하지 않습니다. 파일 중 하나가 손상되면 백업이 필요합니다. CVS는 RCS를 기반으로하므로 디렉토리를 버전 화하거나 이름을 추적 할 수 없습니다. CVS와 RCS는 표준 diff(1) 명령을 사용하여 diff를 만듭니다.

Subversion (SVN)은 비슷하게 작동하지만 디렉토리 및 이름 변경의 버전을 추가합니다. 또한, SVN은 작은 저장소를 제공하는 더 나은 diff 알고리즘 (xdelta)을 사용합니다.

Git의 작동 방법에 대한 설명은 here을 참조하십시오.

0

Darcs은 분산 된 SCM보다 다른 SCM보다 훨씬 다른 IMHO입니다. 작동 원리에 대한 초보자를위한 훌륭한 가이드가 있습니다 : Understanding Darcs.

관련 문제