문제

나는 임의 크기의 서버 공간을 확보하고 Subversion 저장소를 설정하기 위해 해당 공간에 대한 SSH 액세스 권한을 부여받게 될 것입니다.

하지만 얼마나 많은 공간을 요구해야 할지 모르겠습니다.지금은 동료가 코드에 기여할 수 있도록 cms 프로젝트를 호스팅하겠습니다.하지만 문제가 생기면 시스템을 확장하여 많은 프로젝트를 저장소에 넣을 수 있기를 바랍니다.

여기에는 PHP 및 기타 웹 기반 코드와 여러 이미지가 포함됩니다.과하게 사용하지 않으면서 적당한 공간은 얼마나 됩니까?20MB?200MB?

도움이 되었습니까?

해결책

몇 가지 이미지와 다운로드 할 PDF가있는 일반적인 웹 프로젝트를 고려하면 SVN 이력을 저장하려면 그 이상이 필요합니다.

예를 들어, 내 개인 SVN 서버에서 웹 프로젝트의 경우 (내 블로그, 그다지 크지 않습니다), SVN 저장소의 크기는 181MB입니다. 150 개 이하의 개정이 없습니다. (그 프로젝트에 SVN 사용을 중단했습니다).

또 다른 (작은 : 이미지와 같은 이진 파일이 거의 없으며 프레임 워크는 svn:externals) 약 100 개 개정의 PET-PROJECT의 저장소 크기는 49MB입니다.

그리고 또 다른 프로젝트 (소규모 웹 사이트, 몇 가지 수정 사항 만, 더 이상 유지하지 못하는 웹 사이트이므로 SVN 서버를 백업 메카 니즘으로 SVN로 만들었습니다) 저장소 크기는 22m입니다. 프로젝트를 고려하면 더 작은 것은 이상하게 보일 것입니다 ...

따라서 괜찮은 프로젝트의 경우, 특히 몇 개의 다른 개발자가있는 경우 수백 MB가 언젠가 필요할 것입니다.

다른 팁

프로젝트 크기에 따라 다릅니다. 분명히, 당신은 최소한 프로젝트 규모만큼 많은 공간이 필요합니다. 그런 다음 SVN이 추적하는 변경 사항을 저장하기 위해 더 많은 공간이 필요합니다.

요즘 공간 비용으로 왜 과도하게 걱정하고 있습니까? 그냥 몇 공연을 던지십시오.

하나의 완전한 개정의 크기를 얻고 다음 공식으로이를 채우십시오.

TotalSize = OneRevisionSize * (n * 1.09)

여기서 n은 예상 수정 금액입니다. (전혀 모르는 경우 N으로 1000을 사용하십시오) 모든 지점은 동일한 공식으로 별자리로 다시 계산해야합니다. 모든 태그에 대해 동일한 크기를 하나의 개정판으로 예약해야합니다.

저장소에 있는 것이 텍스트뿐이라면 그다지 크지 않을 것입니다.Subversion은 텍스트의 델타 압축에 매우 뛰어나며 올바르게 수행된 경우 분기, 태그 및 병합이 있는 개체를 복제하지 않습니다.

그러나 시간이 지남에 따라 변경되는 대규모 바이너리, 특히 이미지나 비디오와 같은 미리 압축된 파일을 저장하는 경우 리포지토리가 빠르게 증가합니다.또한 컴파일된 실행 파일, Java 클래스, .NET 어셈블리를 체크인하면 작은 소스 코드만 변경해도 실제로는 상당히 달라질 수 있습니다.Subversion은 여전히 ​​이러한 파일에 대해 델타 압축을 시도하지만 개정판마다 바이트 수준에서 너무 많이 변경되므로 아무것도 할 수 없습니다.

대규모 프로젝트에 대해 두 개의 저장소가 있습니다.40,000개 이상의 파일과 많은 분기 및 병합이 포함된 20,000개 이상의 개정에도 불구하고 "소스" 저장소는 단지 수백 MB에 불과합니다.대부분 텍스트 파일만 있거나 변경되지 않는 이미지만 있습니다.동일한 프로젝트에 대한 "빌드된" 저장소의 크기는 거의 10GB입니다. 왜냐하면 우리가 빌드된 Java .class 파일(경우에 따라 전체 JAR 및 EAR 파일)을 체크인하기 때문입니다.우리는 빠른 배포와 롤백을 위해 "빌드된" 저장소를 유지 관리합니다(긴급 상황에서 좋은 버전으로 롤백하기 위해 소스에서 빌드를 수행할 필요가 없습니다).

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