Subversion 저장소에서 일련의 커밋 작업을 제거해야하는 특정 상황이 있습니다. 실수 (/ trunk/tags/branches)의 전체 내용에 태그를 추가하고 실수로 제거하면 제거됩니다. 나는 svndumpfilter를 사용하여 문제가되는 노드를 제거하지만, 나중에 다른 노드에서 잘못된 태그 이름을 다시 사용하여 경로 기반 제외가 다른 문제를 일으킬 수 있습니다. 12GB 인 덤프 파일을 수동으로 편집해야합니다. 나는 다음과 같은 형식으로 덤프에 표시 내가 편집해야 15 개 연속 버전의 시리즈가 : 나는 짓을했는지 테스트를sed/awk 또는 다른 도구를 사용하여 12GB Subversion 덤프 파일의 검색 및 교체를 돕는 방법
Revision-number: 60338
Prop-content-length: 143
Content-length: 143
K 7
svn:log
V 41
Tagging test prior to creating xx branch
K 10
svn:author
V 7
userx
K 8
svn:date
V 27
2009-05-27T15:01:31.812916Z
PROPS-END
Node-path: test/tags/XX_8_0_FINAL
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 60337
Node-copyfrom-path: test
기반을, 나는 내가로 변경 위의 절을 필요로 알고 다음과 같습니다 :
Revision-number: 60338
Prop-content-length: 112
Content-length: 112
K 7
svn:log
V 38
This is an empty revision for padding.
K 8
svn:date
V 27
2009-05-27T15:01:31.812916Z
PROPS-END
동일한 교체가 필요한 14 개 개정이 있습니다. VIM에서 파일을 수동으로 편집하는 것은 심각하게 비실용적입니다. 덤프 파일은 2 진 및 ASCII 텍스트가 혼합되어 있습니다. 누구나 나를 도울 수있는 awk/sed 마법이 있다면 정말 감사 할 것입니다.