문제

나는 총 80 개의 공연을하는 많은 파일의 스냅 샷을 수행 할 수있는 빠르지 않은 방법을 찾고 있습니다. 여기서 문제는 많은 파일이 약 1GB가 크다는 것입니다.

이 유형의 사물에 가장 적합한 무료 버전 제어 시스템은 무엇입니까?

나는 ZFS가 옵션이라는 것을 알고 있지만, 먼저 다른 것을 시도하고 싶습니다.

도움이 되었습니까?

해결책

Subversion은> 1GB 파일을 준수하여 대부분의 경우 성격이 좋은 파일을 처리하지만 많은 변화가 많은 경우 Diff의 생성이 시간이 걸릴 것으로 예상합니다 ...

전복 모범 사례 큰 파일에 대한 섹션이 있습니다.

Subversion의 좋은 특징은 디자인으로 처리 할 수있는 파일의 크기에 제한이 없다는 것입니다. 파일은 네트워크의 양쪽에 작은 양의 메모리를 사용하여 Subversion Client와 Server 사이의 양방향으로 "Streamily"로 전송됩니다.

물론 고려해야 할 실질적인 문제가 여러 가지가 있습니다. Kilobyte 크기의 파일 (예 : 일반적인 소스 코드 파일)의 파일에 대해 걱정할 필요는 없지만 더 큰 파일을 커밋하면 시간과 공간 모두 엄청난 양의 시간이 걸릴 수 있습니다 (예 : 수십 또는 수백 메가 바이트가 큰 파일).

우선, Subversion Working Copy는 .SVN/ Text-Base/ Area의 모든 버전 제어 파일의 깨끗한 사본을 저장합니다. 이는 작업 사본이 원래 데이터 세트보다 최소한 두 배 이상의 디스크 공간을 차지한다는 것을 의미합니다. 그 외에도 Subversion Client는 파일 커밋을위한 (현재 조정할 수없는) 알고리즘을 따릅니다.

. 파일을 .svn/ tmp/에 복사합니다 (시간이 걸릴 수 있고 일시적으로 추가 디스크 공간을 사용합니다)))))

. TMPFile과 깨끗한 사본 사이 또는 새로 추가 된 경우 TMPFile과 빈 파일 사이의 이진 차이를 수행합니다. (소량의 데이터 만 궁극적으로 네트워크를 통해 전송 될 수 있지만 계산하는 데 시간이 오래 걸릴 수 있습니다).

. Diff를 서버로 보내고 TMPFile을 .SVN/Text-Base/로 이동합니다.

따라서 파일의 크기에 대한 이론적 제한은 없지만 매우 큰 파일에는 고객이 삐걱 거리는 동안 대기중인 환자가 대기해야 할 수도 있음을 알고 있어야합니다. 그러나 CV와 달리 대형 파일은 서버를 무력화 시키거나 다른 사용자에게 영향을 미치지 않을 것입니다.

다른 팁

당신은 정말로 시도하고 싶을 수도 있습니다 단조 하지만 그냥 확인하십시오. 당신은 당신이 그것을 찾고있는 것을 찾을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top