developer tip

.svn 폴더 크기 줄이기

optionbox 2020. 11. 28. 09:09
반응형

.svn 폴더 크기 줄이기


프로젝트에서 우리는 미리 빌드 된 바이너리를 사용하여 빌드 시간을 줄이기로 결정했습니다. 매주 / 매월 안정적인 릴리스를 만들고 저장소에 커밋합니다. 빌드는 소스에서 모든 것을 빌드하는 대신 이러한 바이너리를 사용합니다.

빌드 속도의 경우 이것은 환상적입니다. 그러나 당연히 SVN 결제 크기가 크게 늘어납니다. 우리의 트렁크는 현재 ~ 22GB에 있습니다. 나는 이것이 Subversion의 의도 된 사용법이 아니라는 것을 알고 있습니다. 그러나 현재로서는 대안이 없습니다.

하지만 현재 상황을 개선하고 싶습니다. .svn폴더는 디스크에 트렁크의 크기에 큰 기여를한다. 바이너리가 업데이트되면 .svn 폴더에 여러 개의 기본을 유지하는 것 같습니다. 즉, 바이너리가 4GB이면 .svn. 업데이트 된 경우 .svn폴더에는 원래베이스와 새베이스가 포함되며 해당 파일에 대해 최대 8GB가됩니다.

Subversion .svn에 특정 파일 폴더에 기본을 유지하지 않도록 지시 할 수 있습니까? Google을 통해 비슷한 질문을 찾았습니다. .svn 폴더 크기를 줄이는 방법? .

Simon이받은 대답은

  • 부분 체크 아웃 사용 (바이너리가 필요하므로 작동하지 않음)
  • 이것은 아직 Subversion의 기능이 아닙니다.
  • 논의되었지만 적어도 Subversion 1.8까지는 기능이 아닙니다.

운 좋게도 Subversion 1.8이 출시되었습니다. 이 기능이 추가 되었습니까?

릴리스 노트 에서 알아 차리지 못했습니다 . "디렉토리 및 속성 스토리지 감소"가 유망 해 보이지만.


이 시점에서 pristines를 저장할 필요를 없앨 방법은 없습니다. 논의 된 바 있지만 선택적으로 제거하여 제시되는 다양한 사용 사례 상황이 너무 많기 때문에 실제로 해결하기 쉬운 문제가 아닙니다.

1.7에서는 원시 저장소가 변경 되었으며 경우에 따라 실제로 상황이 1.7 이전보다 더 나빠질 수 있습니다. Pristines는 이제 pristine의 해시로 명명 된 파일에 저장됩니다. 따라서 동일한 파일이 여러 개있는 경우 중복 된 프리스틴이 저장되지 않습니다. 그러나 우리는 더 이상 pristines를 정리하지 않습니다. 그래서 그들은 계속해서 쌓입니다. 사용하지 않는 프리스틴을으로 제거 할 수 있습니다 svn cleanup.

사용하지 않는 pristin을 유지하는 것이 중요합니다. 브랜치 사이를 전환하는 경우 1.8에서 이미 깨끗한 것을 더 이상 다운로드 할 필요가 없습니다.


보다는 TortoiseSVN을 클라이언트의 정리 명령을 사용하여 사람들을 위해 svn cleanup명령, .svn폴더 크기가 있는지 확인하여 감소시킬 수 진공 자연 그대로 복사 옵션이 선택되어 :

여기에 이미지 설명 입력

또한 여기에 표시된대로 작업 복사본의 최상위 수준에서 정리하는 것이 좋습니다 .

[편집하다]

이 답변SVN 변경 로그 에 따르면 , svn cleanup깨끗한 복사본을 진공 처리하는 옵션이 있습니다 ( /vacuum). 이는 기본적으로 1.8부터 수행됩니다. 버전 1.10부터는 더 이상 기본적으로 수행되지 않지만 명령을 사용하여 실행할 수 있습니다 svn cleanup --vacuum-pristines( 이 답변 참조 ).

참고 URL : https://stackoverflow.com/questions/21027326/reducing-the-size-of-the-svn-folder

반응형