2012-07-27 5 views
2

나쁜 개정 또는 2 개의 SVN 저장소가 있습니다. 나는 그들을 제거해야합니다! exclude 명령이있는 svndumpfilter 도구를 사용할 계획이었습니다. 그러나 개정판을 제외하는 데 사용하는 방법을 알 수는 없습니다. 매번 사용할 때마다 Malformed dumpfile header 오류가 발생합니다. 아래 명령을 참조하십시오. 리비전 23을 제외하고 코드는 리포지토리가 들어있는 디렉토리입니다. 특정 개정을 배제 할 수svndumpfilter를 사용하여 특정 개정판을 제외하는 방법

>svndumpfilter exclude 23 code 
Excluding prefixes: 
    '/23' 
    '/code' 

SVN-fs-dump-format-version: 2 

<waits for me to type something and press enter> 

'vndumpfilter: E140001: Malformed dumpfile header ' 
+2

당신이 사용하는 정확한 명령을 우리에게 줄 수 있습니까? –

+0

지금 추가하겠습니다. –

답변

7

svndumpfilter 도구, 입력 및 필터 특정 경로 만으로 표준 입력을 사용합니다. 그러나 저장소를 rev 0에서 rev로 덤프하려고 할 수 있습니다. 22에서 rev 24로 계속 진행하지만 rev 23에서 변경된 파일이 rev 23 이후 다시 변경된 경우에만 작동합니다. 여기

작은 스크립트를

svnadmin dump my -r0:22 code > /path/to/dumpfile_1.dmp 
svnadmin dump --incremental -r24:HEAD code > /path/to/dumpfile_2.dmp 

당신이 이용하여 덤프 파일에서 새 저장소를 만들려면 :

svnadmin create code_correct 
svnadmin load code_correct < /path/to/dumpfile_1.dmp 
svnadmin load code_correct < /path/to/dumpfile_2.dmp 
+0

MD5 해시가 손상되어 개정판을 제외해야합니다. 나는 덤프 또는 svnsync 수 없습니다. 인터넷을 검색하여이를 수정하는 방법을 설명 할 때 몇 가지 메일을 발견했습니다 (예 : [this] (http://www.entropyfarm.org/things/svn-checksum-mismatch-recovery/)). 파일 구조가 다르기 때문에 설치에 적용 할 수 없습니다 (1.7.9 svn에서 repos-name/db/revs /와 같은 폴더 구조가 없음) 해당 시나리오에 대한 대안이 있습니까? – ITL

관련 문제