대상 태그와 분기를 잃지 않고 SVN 저장소를 주기적으로 복사하는 방법은 무엇입니까?

대상 태그와 분기를 잃지 않고 SVN 저장소를 주기적으로 복사하는 방법은 무엇입니까?

태그/브랜치 전략을 구현할 수 있도록 전체 저장소를 다운로드(내보내기, 체크아웃)하고 정기적으로 다른 저장소(모든 커밋 메시지와 함께)로 가져오고 싶습니다.

배경: 우리 계약자는 단지 트렁크에만 전념하고거절하다(기술적으로 유지하자) 각 새 라이브러리의 버전을 지정하는 태그를 생성합니다(변경 관리를 따라갈 수 있도록).

그래서 우리는 매일 그들의 라이브러리를 우리 트렁크로 가져오고 우리 정책에 따라 태그와 브랜치를 생성하려고 합니다.

전에 이런 일이 있었던 사람이 있나요?

답변1

SO 질문에는 그럴듯한 해결책이 많이 있습니다.두 개의 Subversion 저장소를 동기화하는 방법.

귀하에게 적용될 수 있는 옵션은 다음을 사용하는 것을 제안합니다.SVK이는 기본적으로 svn의 분산 버전입니다.

답변2

아주 파격적이긴 하지만, 난 당신을 믿어요~해야 한다의 도움으로 이 작업을 수행할 수 있습니다 svnadmin.

계약자의 저장소에서 다음을 실행할 수 있습니다.

svnadmin dump --incremental -r <LOWER REVISION>:<UPPER REVISION> /path/to/bad_repo > dumpfile

그런 다음 저장소에서:

svnadmin load --parent contractors_stuff/ /path/to/your/repository < dumpfile

그러면 계약자의 저장소에서 contractors_stuff실제 저장소의 디렉토리로 개정판이 점진적으로 추가됩니다. 내가 말했듯이 이론상으로는 작동해야 하지만 이는 확실히 이 기능을 의도한 용도로 사용하는 것은 아닙니다. 먼저 비프로덕션 시스템에서 테스트가 필요하며, 실제 저장소의 해당 부분을 변경하면 테스트가 중단될 수 있습니다.

이상적으로는 계약자에게 자신의 행동을 정리하고 법을 정하라고 지시하는 것입니다.

대체 기술 솔루션은 이러한 종류의 워크플로를 더 잘 지원하는 Mercurial, Git 또는 기타 DCVS와 같은 다른 버전 제어 시스템을 사용하는 것입니다.

관련 정보