Come esportare una parte di un repository SVN con dipendenze?
-
06-07-2019 - |
Domanda
Sto cercando di migrare una parte di un repository SVN usando svnadmin dump
.
Lo strumento svndumpfilter fornito non gestisce le dipendenze di copia / spostamento / rinomina da directory non incluse nell'esportazione.
Esiste uno strumento in grado di gestire queste dipendenze?
Soluzione
Ho trovato uno script Python di Simon Tatham chiamato svndumpfilter2 , che cerca di far fronte a dipendenze semplici (ho riscontrato alcune limitazioni).
Puoi anche controllare un articolo sulla sua migrazione verso Subversion e la motivazione per la sceneggiatura.
Altri suggerimenti
Con dipendenze intendi quelle specificate dalla proprietà svn: external?
Se sì, penso che dovresti passare a svndumpfilter anche i percorsi referrend nella proprietà.
Ad esempio, se il tuo progetto è in http: // host / project
e la proprietà svn: external è impostata su http: // host / dipendenze
puoi fare qualcosa come
svndumpfilter include http://host/project http://host/dependencies < total.dump > project.dump
Non puoi sbarazzarti di questo problema. Se hai copiato una directory / file, devi includere sia (sorgente che destinazione) in svndumpfilter.
Tuttavia, puoi fare alcuni trucchi:
Se scarichi un repository non dalla revisione 0, ma dici ad es. dalla revisione 100, otterrai un nuovo repository con la revisione 1-100 scomparsa. Tuttavia, il repository di destinazione ha tutti i file / cartelle nella revisione 1 come repository di origine nella revisione 100. In questo modo è possibile eliminare i dati con versione senza perdere HEAD-Revision.
Puoi provare a scaricare / caricare il tuo repository di origine fino alla prima copia in un "piano" repository, quindi aggiungere i dump rimanenti su di esso. In questo modo puoi saltare la fastidiosa copia da revisione, poiché i tuoi file sono già nella directory di destinazione (destinazione).