내 프로젝트를 보유하고있는 폴더가있는 기존 SVN 저장소가 있습니다. 내 프로젝트 폴더를 루트로 설정하여 새 저장소를 만들고 모든 Subversion 기록 (로그)을 보존하는 방법이 있는지 알고 싶습니다. 원본 저장소 리비전 번호를 잃어 버리지 않아도됩니다.새 저장소 루트에 SVN 폴더
감사합니다.
내 프로젝트를 보유하고있는 폴더가있는 기존 SVN 저장소가 있습니다. 내 프로젝트 폴더를 루트로 설정하여 새 저장소를 만들고 모든 Subversion 기록 (로그)을 보존하는 방법이 있는지 알고 싶습니다. 원본 저장소 리비전 번호를 잃어 버리지 않아도됩니다.새 저장소 루트에 SVN 폴더
감사합니다.
리포지토리를 수동으로 복사하거나 svnadmin을 사용하여 복사 할 수 있습니다.
그런 다음 프로젝트의 하위 디렉토리를 루트 아래로 이동하고 다른 모든 항목을 삭제할 수 있으므로 원하는 디렉토리 구조로 유지할 수 있습니다. 히스토리는 파일 단위로 보존되지만, 다른 경로 (아마 좋은 점)를 사용하는 파일을 기억할 것입니다.
'svn relocate'를 사용하지 않고도 후속 업데이트가 실패하지 않습니까? –
아마도 Avi의 솔루션은 가장 쉽지만 새로운 저장소에이 프로젝트 외 모든 자료의 전체 내역이 포함된다는 단점이 있습니다. 아래 예제에서, 당신이 * NIX 머신의 커맨드 라인에 있고 기존 저장소가있는 디렉토리에 있다고 가정합니다.
svnadmin create new-project-repo # create new repo next to old repo
svnadmin dump old-project-repo | svnadmin load new-project-repo
svn mv file://$PWD/new-project-repo/my-project/trunk file://$PWD/new-project-repo/trunk
svn mv file://$PWD/new-project-repo/my-project/branches file://$PWD/new-project-repo/branches
svn mv file://$PWD/new-project-repo/my-project/tags file://$PWD/new-project-repo/tags
# ... svn rm file://$PWD/new-project-repo/XXX for all the cruft still at the top level.
Subversion 1.6.x를 실행중인 경우 svnsync가 더 나은 옵션을 제공합니다. 1.6.x 이전 버전에서는 svnsync를 사용하여 전체 리포지토리를 복사 할 수있었습니다. 1.6.x를 사용하면 저장소의 특정 하위 트리 만 복사 할 수 있습니다.
svnadmin create new-project-repo
# svnsync needs the ability to set revision properties, so we must install a pre-revprop-change
# hook script which just exits with status 0 (no error). On *NIX systems, the program `true` will do this.
ln -s /usr/bin/true new-project-repo/hooks/pre-revprop-change # possibly /bin/true
svnsync init file://$PWD/new-project-repo file://$PWD/old-project-repo/my-project
svnsync sync file://$PWD/new-project-repo
# go drink some coffee
참고 : svnsync 옵션은 1.5.3 버전에서 작동합니다. = D/저장소/새로운 프로젝트 REPO
SET의 NEW_REPO_FILE_PATH : \
SET OLD_REPO_URL = https://old-project-repo/my-project
또한
SET의 NEW_REPO_URL = D :, 여기에 같은 일을하고 윈도우 배치 스크립트입니다 저장소는 새로운 프로젝트의 repo에게 \
포함 svnadmin %의 NEW_REPO_FILE_PATH %
에코 출구 0> % NEW_REPO_FILE_PATH % \ 후크 사전 revprop-change.bat \
svnsync 초기화 파일 : /// % NEW_REPO_URL % % OLD_REPO_URL %
svnsync 파일 : /// % NEW_REPO_URL %
참고 : 동기화가 완료 될 때까지 새로운 저장소를 검색 할 수 없습니다.
여기에 키를 새로 만들거나 한 수준의 하위 디렉토리를 제거하는 중입니까? 후자의 경우 "svn move"가 친구입니다. – laalto
이 질문은 수 차례 이미 제기되었으며 "svndumpfilter"로 검색했습니다. –