Come usare svndumpfilter per escludere una certa revisione
-
12-12-2019 - |
Domanda
Ho un repository svn con una cattiva revisione o due.Ho bisogno di sbarazzarmi di loro!Stavo pensando di utilizzare lo strumento SVNDumpFilter, che ha un comando exclude
.Tuttavia, non riesco a capire come usarlo per escludere una revisione.Ogni volta che lo uso, finisco con un errore Malformed dumpfile header
.Vedi il comando qui sotto;Voglio escludere la revisione 23 e il codice è la directory contenente il repository.
>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 '
. Soluzione
Lo strumento svndumpfilter
utilizza lo stdin come input e filtri solo su determinati percorsi, quindi non è possibile escludere una revisione specifica.
Tuttavia puoi provare a scaricare il tuo repository dal rev 0 a Rev.22 E continuare dal Rev 24 a testa, tuttavia, questo funzionerà solo se nessun file modificato in Rev 23 viene modificato dopo il Rev 23.
Qui un piccolo script:
.
svnadmin dump my -r0:22 code > /path/to/dumpfile_1.dmp
svnadmin dump --incremental -r24:HEAD code > /path/to/dumpfile_2.dmp
Se si desidera creare un nuovo repository da DumpFiles:
.svnadmin create code_correct
svnadmin load code_correct < /path/to/dumpfile_1.dmp
svnadmin load code_correct < /path/to/dumpfile_2.dmp