Programing

기록이있는 저장소 간 SVN 사본

lottogame 2020. 11. 9. 07:41
반응형

기록이있는 저장소 간 SVN 사본


내 팀원 중 한 명이 기록을 유지하면서 한 SVN에서 다른 SVN으로 내보낼 수 있는지 물었습니다.

나에게 이것은 일반적인 요청처럼 보입니다.

그래서 : 기록을 유지하면서 SVN 리포지토리간에 마이그레이션 할 수 있습니까?

소스에는 svnadmin 액세스 권한이 없지만 대상에는 액세스 권한이 있다는 점에 유의하는 것이 중요합니다.

이것이 소스에서 각 개정판을 확인하고 대상으로 체크인하는 것으로 내려 가면 자동화 된 프로세스가있는 한 괜찮을 것입니다.

편집 : 대상 리포지토리가 Windows에 있음을 언급하는 것을 잊었습니다.


[ 편집 : 아래의 원래 답변은 SVN 1.7 이전의 답변이며 이것이 문제를 해결하는 가장 좋은 방법입니다 (의 주요 사용 사례는 아니지만 svnsync). SVN 1.7 클라이언트 이상에는 svnrdump달성하려는 작업을보다 직접적으로 수행 하는 도구가 있습니다.)]


사용 svnsync 목적지까지의 소스를 동기화는 (후크를 추가하는 방법 목적지 저장소 또는 적어도 관리자 권한 만 필요로 특별한 액세스 소스 저장소를). 대상에 이미 개정이있는 경우 소스를 임시 저장소에 동기화 한 다음을 사용 svn-merge-repos.pl하여 두 로컬 저장소를 병합합니다.


일반적으로이를 달성하는 방법은 svnadmin dump명령 입니다. svnadmin 액세스 권한이없는 경우 해당 사용자에게 덤프를 제공 할 수 있는지 물어볼 것입니다. 이렇게하면 가져 오기 프로세스도 훨씬 쉬워집니다.

현재 공유 저장소에 있습니까? 이것은 저장소를 소유 한 사람이 당신에게 덤프를 제공하는 것을 어리석게 만들 수 있습니다. 왜냐하면 그것은 당신의 조각이 아닌 전체 저장소의 사본이 될 것이기 때문입니다.


나는 비슷한 필요가 있었는데 (따라서이 페이지를 방문했다) 결국 작업을 수행하기 위해 내 자신의 프로그램을 작성하게되었다. 이 도구는 여전히 솔루션을 찾고있는 다른 사람들에게 유용 할 수 있다고 생각했습니다.

  • 이 도구는 소스 저장소에 대한 관리자 액세스 권한이 필요하지 않습니다.
  • 추가 / 삭제 / 복사 / 이동을 지원하고 노드 속성 (예 : svn : ignore, svn : external) 및 수정 속성 (즉, 올바른 작성자 및 날짜 / 시간을 얻음)을 유지합니다.
  • 새 개정판을 증분 복사 할 수도 있습니다.
  • GUI와 명령 줄 유틸리티가 모두 있습니다.

관심있는 사람이 있으면 여기 에서 확인 하세요.


git-svn (또는 다른 SCM 시스템)을 사용하여이 작업을 수행 할 수 있습니다.

단계는 다음과 같습니다.

1. Get a git svn clone of each repository:
    git svn clone <SVN-REPOSITORY-FROM> source-repo
    git svn clone <SVN-REPOSITORY-TO> dest-repo

 2. Create patches to be imported:
    cd source-repo/
    export commitFrom=`git log --pretty=%H | tail -1`
    git format-patch -o /tmp/mergepatchs ${commitFrom}..HEAD .

 3. Import the patches
    cd dest-repo/
    git am /tmp/mergepatchs/*.patch

참조 : http://blog.neutrino.es/2012/git-copy-a-file-or-directory-from-another-repository-preserving-history/


전체 변경 집합이있는 버전 제어 저장소 만 필요한 경우 bzr-svn 플러그인과 함께 bzr을 사용할 수 있습니다. svn repo를 체크 아웃하면 모든 것이 동기화됩니다.

참고 URL : https://stackoverflow.com/questions/976829/svn-copy-between-repositories-with-history

반응형