как использовать svndumpfilter для исключения определенной ревизии

У меня есть репозиторий SVN с плохой ревизией или двумя. Мне нужно от них избавиться! Я планировал использовать инструмент svndumpfilter, в котором есть команда exclude. Однако я не могу понять, как с его помощью исключить ревизию. Каждый раз, когда я использую его, я получаю Malformed dumpfile header ошибку. См. Команду ниже; Я хочу исключить ревизию 23, а код - это каталог, содержащий репозиторий.

>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 '

person Nate Glenn    schedule 27.07.2012    source источник
comment
вы можете дать нам точные команды, которые вы используете?   -  person Peter Parker    schedule 27.07.2012


Ответы (1)


svndumpfilter инструмент использует стандартный ввод в качестве входных данных и фильтрует только определенные пути, поэтому вы не можете исключить конкретную версию. Однако вы можете попытаться сбросить репозиторий с версии 0 до версии. 22 и продолжите с версии 24 до HEAD, однако это будет работать только в том случае, если файл, измененный в версии 23, не будет изменен снова после версии 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
person Peter Parker    schedule 28.07.2012
comment
Я вынужден исключить ревизию, потому что ее хеш MD5 поврежден. Я не умею делать дамп или svnsync. При поиске в Интернете я нашел несколько писем с описанием метода устранения этой проблемы (например: [this] (entropyfarm.org/things/svn-checksum-mismatch-recovery), но они не применимы для моей установки, так как файловая структура отличается (у меня нет такой структуры папок, как repos-name / db / revs / в 1.7.9 svn) Есть ли у вас альтернатива для этого сценария? - person ITL; 23.01.2015