2014-02-20 2 views
5

나는 하나의 큰 저장소에 여러 개의 프로젝트가 있습니다. svnadminfilter 명령을 사용하여 전체 저장소 덤프 중 일부 프로젝트를 필터링하고 있습니다.svnadmin load renumber revisions

--drop-empty-revs 스위치 (그리고 --renumber-revs 스위치 없음)를 사용하여 전체 저장소를 덤프했습니다.이 저장소는 빈 개정판을 제거하고 특히 해당 수정본을 해당 프로젝트에 보존합니다. 이제 덤프를 새 위치의 새 저장소로 다시로드하는 동안 1에서 시작하는 해당 리비전 번호를 다시 지정하지만 해당 리비전을 보존하려고합니다.

svnadmin로드에서 사용할 수있는 스위치가 있습니까?

+0

[svnadmin로드 가능하지만 개정 번호 유지] (http://stackoverflow.com/questions/21583295/svnadmin-load-but-keep-the-revision-numbers) – gbjbaanb

답변

1

여기서 유용한 트릭은 원하는 개정 번호에 도달 할 때까지 빈 개정판을 작성하여 패딩을 작성하는 것입니다.

그러나 svnadmin load에는 스위치가 없습니다. 수동으로 생성하거나 rsvndump과 같은 도구를 사용해야합니다. 맨 페이지에서

: --keep-revnums
저장소와 동기화 출력에 개정 번호를 유지합니다. 필요한 경우 패딩에 빈 수정 버전을 삽입하면됩니다.

버전 번호

덤프 출력의 버전 번호는 옵션 rsvndump에 주어지는 경로에 의존한다. 저장소의 루트를 덤프하는 경우 수정 번호가 개 밖에 없으므로 걱정할 필요가 없습니다. 서브 디렉토리를 덤프하는 경우이 서브 디렉토리를 변경 한 개정 본 만 덤프 출력에 표시됩니다. 덤프의 개정 번호는 완전히 순차적이므로 은 원래의 것과 다릅니다.

원래 저장소의 버전 번호를 유지해야하는 경우 (예 : 버그 추적기가 버그 추적기에 의존하는 경우) --keep-revnums 플래그를 사용할 수 있습니다. 빈 리비전으로 하위 디렉토리를 변경하지 않은 리비전을 채 웁니다. 저자 또는 날짜가 인데 " 패딩의 빈 개정판입니다."라는 로그 메시지가 있습니다.

(가장 가능성이 rsvndump 버전을 직접 컴파일 할 필요가 있습니다.)


수동으로 패딩 자신을 만들려면, 당신은 여전히 ​​스크립트 목록을 저지 할 수있다. 다음은이를 수행하는 방법에 대한 예입니다. http://hmcguirk.blogspot.ca/2010/06/subversion-trimming-old-commits-keeping.html

0

svnadmin load과 함께 작동하지 않는 것 같습니다. 필터링 할 때 --drop-empty-revs 스위치를 사용하지 마십시오. 빈 개정판은 어쨌든 덤프의 최소한의 비율만을 차지합니다.

관련 문제