SVN - Cambia la copia di lavoro in modo che punti al nuovo percorso svn


87

Ho un repository SVN che è stato spostato in un nuovo indirizzo / percorso. Tuttavia, ho una copia funzionante con codice sorgente non salvato che punta ancora al vecchio percorso del repository (ora non valido). Come si modifica una copia di lavoro in modo che punti a un nuovo repository?

Risposte:



58

Usa il svn switchcomando con l' --relocateopzione della riga di comando.


1
Grazie. Questo è quello che ho usato: svn switch --relocate file: /// Users / user / old_repository / project / trunk file: /// Users / user / new_repository / project / trunk
quano

Non corregge gli URL in svn: externals. Qualche idea di come farlo ?
Axel Bregnsbo

26

Utilizzando TortoiseSVN

  1. Fare clic con il tasto destro sulla copia di lavoro e selezionare 'SVN Switch ...'
  2. Nel modulo "Passa a ramo" Seleziona nuovo percorso SVN

Utilizzando Command

  1. Console aperta
  2. Vai alla copia di lavoro cd [working copy path]
  3. Scrivi il comando svn relocate [new url]

Questo è applicabile solo se si utilizza TortoiseSVN, che il poster non ha indicato che sta utilizzando.
zck

Ciao @zck, tieni presente che ho scritto 2 soluzioni in 1 risposta prima TortoiseSVN e il secondo è Comanda questo comando è deprecato per sovversione in generale puoi rivedere questa pagina svn relocate / svn Sottocomandi
Ahmed Abdallah

Bene, la tua risposta è stata modificata dopo che ho commentato per includere un modo da riga di comando per farlo. Quella risposta da riga di comando era già stata pubblicata a giugno, quindi non è necessario ripeterla.
zck

No, inserisco la risposta nelle sue parole attuali la mia modifica solo per migliorare la formattazione; e penso che il comando che ho scritto sia più chiaro di quello che è stato scritto a giugno
Ahmed Abdallah

Il modo in cui TortoiseSVN GUI richiede un clic su "relocate" e non cambiare. Il che ha senso data la riga di comando .. Non sono sicuro di quale switch avrebbe fatto - sembrava che stesse tentando di accedere al vecchio URL e al nuovo URL, qualcosa che non volevo che facesse.
Gerard ONeill

12

Per essere più precisi

svn switch --relocate [complete url of the old repo] [complete url of the new repo] 

Per esempio:

svn switch --relocate  http://svn.repo.com:9880/website/branches  http://svnrepo.com/web/branches 

3

Utilizzo di TortoiseSVN tortoisesvn docs

  1. Vai alla cartella principale della copia di lavoro
  2. Fare clic con il tasto destro, fare clic sul sottomenu TortoiseSVN, fare clic su Riposiziona.
  3. Inserisci il nuovo percorso

1

Molto semplice :

Passaggio 1: aprire il prompt dei comandi / terminale e impostare il percorso di lavoro

Passaggio 2: eseguire questa rigasvn switch --relocate http://newurl


0

Avevo cambiato il mio server svn per forzare il reindirizzamento di tutto da HTTP a HTTPS (e avrebbe potuto essere un reindirizzamento a qualsiasi altro URL) e ho notato che questo svn relocatecomando causava molti problemi con gli esterni. Fortunatamente ho scoperto che la cosa più semplice era fare solo un svn updatee, a causa del reindirizzamento del server svn, ha aggiornato tutti gli URL archiviati nella copia di lavoro locale, inclusi gli esterni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.