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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top