Spostare delle directory SVN in un nuovo repository
L'esempio è su un server Windows.
- Assicurarsi che tutti abbiano fatto commit e nessuno modifichi sino al termine del trasferimento.
C: cd C:\Program Files\Subversion\bin
- Fare il dump del repository che contiene la directory
svnadmin dump E:\svn\repositories\old_repo > c:\temp\svnrepos.dmp
- Filtrare solo la directory che si vuole, eliminando le revisioni vuote e rinumerandole:
type c:\temp\svnrepos.dmp | svndumpfilter --drop-empty-revs --renumber-revs include local-bin > c:\temp\local-bin.dmp
- Eliminare ogni occorrenza della directory:
vi c:\temp\local-bin.dmp
:%s/Node-copyfrom-path: local-bin\//Node-copyfrom-path: /gc :%s/Node-path: local-bin\//Node-path: /gc
- Eliminare la definizione della directory:
vi c:\temp\local-bin.dmp
:^Node-path: local-bin
Rimuovere:
Node-path: local-bin Node-action: add Node-kind: dir Prop-content-length: 10 Content-length: 10 PROPS-END
- Creare nuovo repository
svnadmin create e:\svn\repositories\local_bin
- Caricare il progetto:
svnadmin load e:\svn\repositories\local_bin < c:\temp\local-bin.dmp
- Ora tutti devono cancellare la working copy e rifare il checkout.