Spostare delle directory SVN in un nuovo repository: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
| Line 3: | Line 3: | ||
*Assicurarsi che tutti abbiano fatto commit e nessuno modifichi sino al termine del trasferimento. | *Assicurarsi che tutti abbiano fatto commit e nessuno modifichi sino al termine del trasferimento. | ||
cd C:\Program Files\Subversion\bin | C: | ||
cd C:\Program Files\Subversion\bin | |||
* Fare il dump del repository che contiene la directory | * Fare il dump del repository che contiene la directory | ||
svnadmin dump | svnadmin dump E:\svn\repositories\old_repo > c:\temp\svnrepos.dmp | ||
* Filtrare solo la directory che si vuole, eliminando le revisioni vuote e rinumerandole: | * 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 | type c:\temp\svnrepos.dmp | svndumpfilter --drop-empty-revs --renumber-revs include local-bin > c:\temp\local-bin.dmp | ||
*Eliminare ogni occorrenza della directory: | *Eliminare ogni occorrenza della directory: | ||
vi c:\temp\ | vi c:\temp\local-bin.dmp | ||
:%s/Node-copyfrom-path: | :%s/Node-copyfrom-path: local-bin\//Node-copyfrom-path: /gc | ||
:%s/Node-path: | :%s/Node-path: local-bin\//Node-path: /gc | ||
*Eliminare la definizione della directory: | *Eliminare la definizione della directory: | ||
vi c:\temp\ | vi c:\temp\local-bin.dmp | ||
Node-path: | :^Node-path: local-bin | ||
Rimuovere: | |||
<pre> | |||
Node-path: local-bin | |||
Node-action: add | |||
Node-kind: dir | |||
Prop-content-length: 10 | |||
Content-length: 10 | |||
PROPS-END | |||
</pre> | |||
* Creare nuovo repository | * Creare nuovo repository | ||
svnadmin create e:\svn\ | svnadmin create e:\svn\repositories\local_bin | ||
* Caricare il progetto: | * Caricare il progetto: | ||
svnadmin load e:\svn\ | svnadmin load e:\svn\repositories\local_bin < c:\temp\local-bin.dmp | ||
* Ora tutti devono cancellare la working copy e rifare il checkout. | * Ora tutti devono cancellare la working copy e rifare il checkout. | ||
Revision as of 21:10, 13 January 2010
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.