2011-10-25 11 views
6

Supponiamo di avere tale struttura repository SVNSpostare progetto SVN all'interno di repository senza cassa

Root 
    Foo 
     Project1 
     Project2 
    Bar 
     Project3 

e si desidera spostare Project1 al livello superiore:

Root 
    Foo 
     Project2 
    Bar 
     Project3 
    Project1 

Gli sviluppatori hanno già Project1 in alto livello dei loro alberi di cartelle locali, quindi non ha senso spostarli, e ti piacerebbe farlo senza richiedere agli sviluppatori di fare checkouts ecc. (il che li costringerebbe a gestire molti file non verificati).

È possibile?

Stiamo usando Tortoise SVN, ma non abbiamo problemi a utilizzare svn.exe se necessario.

TIA

risposta

9

La cosa migliore sarebbe fare una mossa SVN, spostare Project1 sotto root e fare un cambio SVN su quelli già controllati.

Spostando il Project1

svn move -m "message" http://<svn-url>/Foo/Project1 http://<svn-url>/Project1 

commutazione già repository controllato-out su macchine locali

svn switch http://<svn-url>/Project1 

È possibile utilizzare TortoiseSVN a fare lo stesso.

4

Sì. Sposta il progetto utilizzando il repository explorer e chiedi agli sviluppatori di passare alla nuova posizione (tasto destro, TortoiseSVN, Switch). Sarebbe più facile per loro se non hanno file non salvati. Chiedi loro di impegnarsi prima di spostare il progetto.

+0

Se riescono a passare, non dovrebbe importare se hanno modifiche non impegnate o no, ma vale sempre la pena di impegnarsi (anche se si tratta di una nuova filiale) per sicurezza. – Rup

2

È possibile utilizzare il comando svn mv. Basta specificare l'origine e la destinazione come URL.
Utilizzare svn switch per aggiornare una copia di lavoro a un URL diverso.