문제

Subversion이있는 새 저장소를 만들기위한 정상적인 작업 흐름은 새 저장소를 만들고, Repos 루트를 체크 아웃하고, 지점 태그와 트렁크 폴더를 만들고 초기 파일에 트렁크에 배치하는 것입니다. 그런 다음이 "초기 가져 오기"를 커밋하고 하드 드라이브에서 확인 된 저장소를 삭제하고 트렁크 체크 아웃을합니다. 그런 다음 일을 시작할 수 있습니다.

그러나 큰 수입을 다룰 때 수백 메그 및 오프 사이트 버전 컨트롤 호스팅 (HTTP 기반)을 생각해 보는 데 이번 초기 수입이 꽤 시간이 걸릴 수 있습니다. 더 나쁜 것은, 커밋 한 후에이 거대한 트렁크를 다시 체크 아웃해야합니다.

이미 존재하는 데이터를 다시 결제하지 않고 트렁크의 로컬 사본을 사용하는 방법이 있습니까?

도움이 되었습니까?

해결책

"내부 수입"이라고 불리며, 여기에서는 전복 FAQ에서 다루어집니다.

http://subversion.tigris.org/faq.html#in-place-import

당신이 실제로하고있는 것은 저장소에서 새로운 빈 프로젝트를 만들고, 빈 프로젝트를 로컬 폴더를 확인하는 것입니다.이 폴더를 작동 사본으로 바꾸고 모든 (기존) 파일을 해당 '빈'프로젝트에 추가합니다. 따라서 SVN 커밋을 할 때 저장소에 추가됩니다.

다른 팁

나는 "내부 가져 오기"절차와 TTB 구조에 대한 스크립트를 사용하는 것에 동의합니다 (두 가지 모두).

작은 힌트 :

가져와서는 안됩니다 거대한 (수천 명) 단일 커밋의 파일 수, http를 사용하는 경우 버전 기록을 표시하는 시간으로 추가 된 항목의 수에 의해 스케일. 이 동작의 이유는 Apache가 추가 된 모든 경로를 SVNACCESS 파일을 다시 인증해야하기 때문입니다 (물론 경로 기반 인증을 활성화 한 경우에만). 이렇게하면 모든 파일 이이 큰 Rev를 위해 SVN 로그를 기다려야하므로 리포지토리는 사용할 수 없습니다.

디렉토리 수준에서 막대한 수입을 나누어야합니다

나는 보통 "svn mkdir"를 사용하여 저장소를 작성한 직후 서버에서 트렁크/태그/분기를 직접 만듭니다. 그런 다음 빈 트렁크를 확인하고 초기 파일을 해당 디렉토리로 옮기고 추가 및 커밋하고 작업을 시작할 수 있습니다.

SVN Checkout -Force를 사용하면 기존 경로를 통해 'WorkingCopy'를 확인할 수 있습니다. 이전 파일을 보관하고 저장소에만있는 파일을 추가합니다.

저장소 생성 : 대부분의 전복 분포에서 사용할 수있는 'SVNMUCC'명령을 사용하여 단일 커밋의 리포지토리에 여러 MKDIR 명령을 수행 할 수 있습니다 (예 : Sliksvn).

도움을 요청하지 않고 svnmucc를 입력하십시오.

단일 폴더를 확인한 경우 파일을 복사 한 경우 실행하십시오. svn add 그리고 svn commit; 파일을 삭제하고 다시 확인할 필요가 없습니다.

파일을 제자리에 사용하십시오 : 설명대로 커밋 된 후에는 작업 할 준비가되었습니다.

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