2009-03-24 11 views
72

Sto spostando il mio repository Subversion da una macchina all'altra. Ho un paio sparsi copie di lavoro su diverse macchine, e ho trovato che posso passare facilmente le copie di lavoro dal vecchio server a quello nuovo con il seguente comando:Posso cambiare repository SVN da Eclipse?

svn --relocate svn://oldServer/repo svn://newServer/repo 

Tuttavia, su una delle mie macchine , Utilizzo Eclipse con Subclipse e non mi piace utilizzare SVN da riga di comando sui miei progetti Eclipse. La mia domanda è se sia possibile cambiare repository SVN da Eclipse usando Subclipse o Subversive.

risposta

92

Penso che sia necessario entrare nella prospettiva del 'repository browser', facendo clic con il pulsante destro del mouse sul repository attuale e "trasferendolo" su un altro dominio.

+7

Questo ha funzionato perfettamente sulla scatola che avevo in esecuzione Subclipse, e qualcosa di molto simile ha funzionato sulla scatola con Subversive. Il trucco su Subversive è risultato essere la modifica delle "proprietà di posizione" nel browser del repository. Grazie mille! –

+3

Subversive non è in grado di spostarsi tra i protocolli. Passare da SVN + SSH a HTTPS sembra impossibile, continua a costruire l'URL SVN + SSH e richiede credenziali per questo. Com'è con Subclipse? –

+3

Nota, è necessario aprire eventuali progetti esistenti utilizzando il vecchio repository, poiché il comando "relocate" aggiornerà solo i progetti aperti. Questo è importante, perché dopo che ti sei trasferito, non è facile ricollocare di nuovo i progetti che hai perso. Ho fatto questo errore e ho dovuto cancellare i miei progetti chiusi e ricontrollare. – Cerin

4

All'interno di Eclipse Navigator, se si fa clic con il pulsante destro del mouse sul nome del progetto, viene visualizzato un sottomenu. In quel sottomenu selezionare Team che fornirà alcune opzioni di menu aggiuntive. Seleziona "Passa a un altro ramo/tag/revisione ..." e apparirà una finestra che ti permetterà di specificare il nuovo ramo o nel tuo caso una nuova posizione del repository.

+0

Ho il privilegio di commentare, quindi farò notare che il commento di Stefan qui sotto (e la risposta accettata da Luke sopra) sono corretti. –

+0

Ho provato questo e non ha funzionato: SVN Swtich ha riscontrato un problema. org.tigris.subversion.javahl.ClientException: svn: ... non è lo stesso repository di ... – PiTheNumber

13

Non utilizzare l'opzione "Team/switch", ma piuttosto passare alla prospettiva "Esplorazione repository SVN" e modificare l'ubicazione dell'URL nelle proprietà di posizione del repository. Funziona come un fascino su Indigo - usando Subversive nel mio caso.

Quando si utilizza Subversive questo mostrerà un avvertimento "I progetti allegati saranno trasferiti perché l'URL radice del repository differisce dal precedentemente inserito uno", che è proprio quello che si desidera. Assicurati di aprire tutti i progetti che vuoi trasferire prima di fare questo.

Quando si ottiene "Non è possibile spostare i progetti collegati" con "Relocation non può essere eseguita perché il nuovo URL si riferisce alle diverse repository" allora forse la tua radice repository è nessun tronco/Tag/rami cartelle, o ha anche tali cartelle in sottocartelle. Quindi, sul foglio di lavoro Avanzato, potrebbe essere utile disabilitare l'opzione Abilita rilevamento struttura.

Se si ottiene "Relocation non può essere eseguita perché il nuovo URL fa riferimento al repository, che non è valido (URL corretto o credenziali specificate)" poi anche verificare che il percorso principale all'interno del nuovo URL del repository corrisponde alla radice del il vecchio URL. (In altre parole: assicurati che nello screenshot sopra riportato siano presenti le stesse sottocartelle del vecchio URL.)

+1

Questa è la risposta corretta con le nuove installazioni di Eclipse. –

0

Potresti riuscire a scambiare i nomi dei server in DNS; questo potrebbe essere più facile che passare tutte le copie di lavoro.

10

Basta fare clic destro sul progetto-> squadra -> disconnetti.

Poi un altro tasto destro del mouse sul progetto -> team -> condividi -> al nuovo SVN.

Questo è tutto!

+0

+1 Aiutato molto! – pwagner

+2

Quando ho eseguito questo metodo, ho perso tutta la cronologia ... – gordon613

3

È possibile effettuare le seguenti operazioni:

Vai al progetto vista explorer -> click destro sul vostro progetto -> squadra -> interruttore ... e ora selezionare il nuovo URL.

Questo è tutto!

1

Non ho potuto trasferirmi dalla mia eclissi. Ho diversi progetti su diversi rami e tag (sola lettura è solo per confrontare diverse versioni) dello stesso repository. Quando l'ip del nostro server svn è cambiato, potrei trasferirmi da TortoiseSVN ma non da Subclipse.

Cambiare da http://oldserver/svn/PROJECTNAME a http://newserver/svn/PROJECTNAME ottengo:

org.apache.subversion.javahl.CientException: Invalid operation on the current working directory 
svn: Cannot relocate 'E:\…\workspaces\PROJECTNAME\tags\modulename\2.4.007\base' as it is not the root of a working copy; try relocating 'E:\…\workspaces\PROJECTNAME\tags\modulename\2.4.007' instead 

Ok, ma non hanno il controllo su questo. Ho finito con una soluzione alternativa che riguardava il mio file hosts.

0

In Eclipse, andare su Finestra -> Prospettiva -> Prospettiva aperta -> Altro -> Esplorazione del repository SVN. Fare clic su Ok

Quindi fare clic con il pulsante destro del mouse sul repository che si desidera modificare -> Proprietà posizione.

Modificare il clic dell'URL.

Questo è tutto!

Problemi correlati