2009-04-20 13 views
46

Ho creato accidentalmente un repository senza le cartelle predefinite in SVN Tortoise, quindi ho effettuato un checkout a livello locale. Ho realizzato e ho dimenticato di creare il repository con i valori predefiniti, quindi ho eliminato il repository utilizzando Visual SVN Server e ricreato lo stesso nome del repository che ora ha il trunk predefinito delle cartelle, ecc.Cambia repository nella cartella con Tortoise SVN

Il problema è che la mia cartella locale ha già stato controllato Come posso cambiarlo/repoint al nuovo URL del repository?

+0

Divertente, è esattamente quello che ho appena fatto. Ottima domanda! – Alex

risposta

2

Supponendo che non ci siano file nella versione ritirata di cui si ha bisogno, basta eliminare la directory e ricontrollare.

71

È possibile fare clic con il pulsante destro del mouse sulla cartella e fare clic su "riposiziona" nel menu Tortoise.

+0

Sicuramente non funzionerà in questo caso? La sua struttura di repository è cambiata, non vuole solo spostare il repository da qualche altra parte. –

+1

Certo che può spostarlo nella cartella trunk. – RedWolves

+1

Ho provato a trasferirmi nel nuovo URL ma ho detto che c'è UID in conflitto – PositiveGuy

0

(Supponendo di avere file nella copia di lavoro locale): Poiché hai creato un nuovo repository, suppongo che devi importare la tua copia di lavoro nel repository.

Utilizzando TortoiseSVN, è possibile esportare la copia di lavoro in una cartella diversa (in modo da avere solo i file di origine, senza le cartelle .svn). Quindi puoi importare quella cartella in/trunk del tuo nuovo repository.

+0

forse dovrei eliminare ogni cartella .svn e riprovare da zero – PositiveGuy

+0

significa che c'è una cartella svn in ogni sottocartella della cartella interessata di cui sto parlando. Se cancello tutte le cartelle sottnn sottostanti, presumo che sia essenzialmente come cancellare il controllo del codice sorgente da quella cartella e dalle sue sottocartelle manualmente? – PositiveGuy

+1

Alla fine ho semplicemente eliminato la cartella .svn nella directory principale (quella che ho originariamente cliccato e ho scelto il check-out) che mi ha permesso di cancellare e ricominciare da capo. – PositiveGuy

5

Non sarà possibile farlo facilmente, poiché i due repository non hanno lo stesso identificatore univoco (UID). Ci sono 2 modi che avresti potuto fare questo:

  1. Forza un particolare UID sul nuovo repository (non so se il server SVN dà questa opzione)

  2. Non eliminare il repository, basta creare le cartelle nella copia di lavoro, e svn move i file in tronco, quindi controllare il tutto in.

+2

Per il primo modo per risolvere questo problema: se si ha accesso al server, aggiungerei che in the_repo/db/è un file senza estensione con il nome di UUID che può essere sostituito con l'UUID bisogno. Raccomanderei comunque di fare un backup precedente al cambiamento. – apacay

11

È possibile fare clic destro vostra copia di lavoro e selezionare TortoiseSVN/switch ... quindi modificare il "in percorso : "al nuovo cartella nel repository. Ha funzionato per me.

+0

Questa è la risposta corretta – Bas

Problemi correlati