Le soluzioni @Aaron Digulla e @kementeus sono realizzabili. Per i repository Subversion 1.4, le operazioni di copia / spostamento possono rendere difficile la migrazione futura a una diversa struttura di repository o la suddivisione dei repository.
Credo che i miglioramenti di 1.5 includano una migliore risoluzione della cronologia di spostamento / copia, quindi probabilmente non sarebbe un problema per un repository 1.5.
Per un repository 1.4, consiglierei di usare svnadmin dump
ed svndumpfilter
eseguire il movimento del trunk esistente altrove, quindi di spostare il ramo sul trunk con lo stesso meccanismo. Caricare i due file di dump in un repository di prova, verificare, quindi spostarlo in produzione.
Naturalmente, esegui il backup del repository esistente prima di iniziare.
Ciò preserva la cronologia senza registrare esplicitamente lo spostamento / copia e semplifica la riorganizzazione futura, preservando la cronologia.
Modifica: come richiesto, la documentazione del comportamento 1.4, dal libro 1.4 Red-Bean, Filtering Repository History
Inoltre, i percorsi copiati possono causare problemi. Subversion supporta le operazioni di copia nel repository, in cui viene creato un nuovo percorso copiando un percorso già esistente. È possibile che ad un certo punto della durata del repository, sia possibile che sia stato copiato un file o una directory da una posizione chesvndumpfilter
esclusa, in una posizione che include. Al fine di rendere i dati di dump autosufficienti,svndumpfilter
deve ancora mostrare l'aggiunta del nuovo percorso, inclusi i contenuti di tutti i file creati dalla copia, e non rappresentare quell'aggiunta come una copia da un'origine che non esisterà nel flusso di dati di dump filtrato. Ma poiché il formato di dump del repository Subversion mostra solo ciò che è stato modificato in ogni revisione, il contenuto dell'origine della copia potrebbe non essere prontamente disponibile. Se sospetti di avere copie di questo tipo nel tuo repository, potresti voler ripensare il tuo set di percorsi inclusi / esclusi, magari includendo anche i percorsi che sono serviti come fonti delle tue fastidiose operazioni di copia.
Questo vale per le migrazioni / riorganizzazioni che utilizzano svndumpfilter
. Ci sono momenti in cui un po 'di lavoro extra ora può risparmiare un sacco di lavoro extra in seguito, e mantenendo un facile utilizzo di svndumpfilter
disponibili per future migrazioni / riorganizzazioni mitiga il rischio a un costo relativamente basso.