E 'possibile modificare il nome dir in repository svndumpfilter?
-
18-09-2019 - |
Domanda
E 'possibile rinominare directory nella repository svn.
Non creare nuova revisione in cui verrà rinominato questa directory.
Vorrei cambiare il nome di questa directory a partire dalla prima revisione.
Per quanto ho capito l'utilità svndumpfilter può essere utilizzato per questo.
E 'corretto?
Qualcuno mi può dare piccolo esempio come fare?
Soluzione
Si dovrebbe svnadmin dump il repository, processo il file dump e carico svnadmin il file elaborato in un repo vuota. Nessun svndumpfilter necessario.
svnadmin dump /repos/path > old.dump
Il file di dump può essere elaborato con Sed o un altro strumento (assicurarsi che i dati binari doesn 't venga corrotta) e sostituire il nome della directory. Ad esempio:
sed -b -e "s#^\(Node.*path\): dir1/dir_old#\1: dir1/dir_new#" old.dump > new.dump
Una volta che hai finito l'elaborazione del file di dump:
svnadmin create /newrepos/path
svnadmin load /newrepos/path < new.dump
Altri suggerimenti
Lo consiglio non per usare sed, perché non è a conoscenza del formato di file e si potrebbe facilmente rendere lo SVN file di dump inutilizzabile.
Inoltre, se si desidera sostituire un po 'più di un semplice percorso, è necessario o aggiornare o semplicemente rimuovere lo SHA1 e il check-somme MD5, anche.
Modifica di una discarica SVN in realtà non è così banale come potrebbe sembrare a prima.
Ho avuto lo stesso problema, ieri, e ho scritto un piccolo programma per questo scopo. Ho pubblicato qui da usare per chiunque:
https://github.com/nlmarco/svndumptransformer
E 'un software gratuito e siete invitati a modificarlo, se si vuole / bisogno di più funzioni.
Questo programma modifica solo il contenuto del testo (se un file - per esempio un'immagine - è contrassegnato per avere il tipo MIME "application / octet-stream", non viene modificato). E dal momento che legga e comprenda il formato dump SVN in realtà, non modificare i dati strutturali appartenenti al SVN Cassone ribaltabile -. A differenza del comando sed sopra
Per quanto mi riguarda, questo programma in quanto attualmente è lavorato bene in ridenominazione di un prodotto -. Causando tutti i percorsi, così come i file di configurazione del progetto (=> Gradle) e un paio di classi dozzina di Java da rinominare
Mi auguro che questo programma è utile ad altre persone, anche.
Btw. Sono consapevole che questa domanda è molto vecchio, ma spero che la mia risposta potrebbe aiutare gli altri che incontrano questo problema, ora.
https://metacpan.org /pod/release/SALVA/SVN-DumpReloc-0.02/bin/svn-dump-reloc sembra interessante, ma non lo fa (come si dice) verificare la presenza di mancanti o duplicati directory. Andando a scrivere qualcosa su misura ...