Cosa devo fare per renderlo un'entità completamente indipendente?
L'unico collegamento tra il nuovo repository e l'originale è un numero di proprietà di revisione utilizzate da svnsync synchronize
. È possibile rimuovere quelli come questo:
svn propdel --revprop -r 0 svn:sync-from-uuid http://svn.example.com
svn propdel --revprop -r 0 svn:sync-last-merged-rev http://svn.example.com
svn propdel --revprop -r 0 svn:sync-from-url http://svn.example.com
Questo non fa molto, tranne fare in modo che svnsync synchronize
non possono essere eseguiti più.
modifica: ho solo pensato a qualcos'altro. Potresti aver utilizzato le proprietà svn:externals
nei tuoi progetti per fare riferimento a un altro repository o un'altra posizione all'interno dello stesso repository.
Uno deve utilizzare relative URL syntax per i collegamenti all'interno dello stesso repository, nel qual caso non vi è alcun problema. Ma se per questo è stato utilizzato un URL assoluto, tali collegamenti continueranno a puntare al repository originale dopo un svnsync
. È possibile controllare tutti svn:externals
immobili come questo (potrebbe richiedere un po ', esegue la scansione in modo ricorsivo tutte le cartelle):
svn propget -R svn:externals http://svn.example.com/
fonte
2011-01-20 17:48:18
Qualche idea su come correggere le proprietà 'svn: externals' sulle revisioni esistenti, comunque? – 0xC0000022L
@STATUS_ACCESS_DENIED: in SVN manca un modo per rimappare semplicemente gli esterni ([come in mercurial] (http://mercurial.selenic.com/wiki/SubrepoRemappingPlan)) per le revisioni esistenti. Potrebbe ancora essere possibile riscrivendo la cronologia ('svnadmin dump 'l'intero repository, gli URL di ricerca e sostituzione, quindi' svnadmin load' in un nuovo repository), ma quello è un altro altro gioco. Non l'ho mai provato. –
grazie per la risposta. Avevo paura di questo ... Sorry – 0xC0000022L