2009-06-25 6 views
25

Mi rendo conto che ci sono domande simili su questo argomento, ma non riesco ancora a trovare la risposta per il mio caso specifico. Ho un progetto che ho ereditato dal repository di un altro team. Abbiamo fatto un "svn switch --relocate" per reindirizzare le nostre copie ritirate sul nostro server, invece delle loro. Ma hanno ancora un svn: esterni per una sottodirectory e punta ancora a uno dei loro altri repository.Come rimuovere correttamente un svn: esternali e sostituirlo con una copia locale (non esterna) della stessa directory?

Come rimuovere correttamente l'esterno e sostituirlo con una versione locale di tale directory? Ho provato a eliminare la directory esterna e a sostituirla con la copia locale e a controllarla, ma quando "svn up" nella root del progetto, si lamenta che quella directory è "bloccata". Che cosa sto facendo di sbagliato?

Oh, e non ho molti strumenti GUI per questo installato. Lo sto facendo solo sulla linea di comando. Grazie!

risposta

35

Nella radice della vostra copia di lavoro:

svn propedit svn:externals .

Si dovrebbe vedere un file nel vostro editor di scelta che ha linee come questo:

path/to/extenal http://url/of/repo 

Se si rimuove quella linea, quindi eseguire un commit/update, dovrebbe rimuovere la definizione esterna da quel percorso e sbloccare il percorso.

È possibile eseguire un svn cleanup se si lamenta.

+0

Bastava impostare la variabile di ambiente Editor per farlo funzionare. Leggi questo post per informazioni su come farlo funzionare con Notepad ++ – rob

4

mi sono imbattuto in questo problema, al fine di farlo attraverso eclisse è possibile effettuare le seguenti operazioni Vai alla cartella principale in cui è presente e il vostro esterno destro del mouse squadra> Mostra proprietà>

si dovrebbe vedere un nome coppia di valori con nome come svn: external e value come repository esterno. Fai clic destro e puoi vedere l'opzione di rimozione che rimuoverà il collegamento.

potresti dover svn: aggiornare o ripulire dopo.

Problemi correlati