Come posso spostare un file (o cartella) da una cartella all'altra in TortoiseSVN?


247

Vorrei spostare un file o una cartella da un posto a un altro all'interno dello stesso repository senza dover utilizzare Repo Browser per farlo e senza creare due operazioni indipendenti di aggiunta / eliminazione. L'uso di Repo Browser funziona correttamente, tranne per il fatto che il codice verrà sospeso in uno stato non funzionante fino a quando non si verificherà successivamente qualsiasi modifica di supporto (come ad esempio il file .csproj).

Aggiornamento: le persone hanno suggerito di "spostare" dalla riga di comando. Esiste un equivalente di TortoiseSVN?

Risposte:


448

Per spostare un file o un set di file utilizzando Tortoise SVN, fare clic con il pulsante destro del mouse e trascinare i file di destinazione nella loro destinazione e rilasciare il pulsante destro del mouse. Il menu popup avrà SVN move versioned files hereun'opzione.

Si noti che la cartella di destinazione deve essere già stata aggiunta al repository affinché l' SVN move versioned files hereopzione appaia.


32
Avevo bisogno di fare lo stesso e questo ha funzionato perfettamente. Non ho mai saputo di questa opzione. Grazie tante!
DavGarcia,

4
Grazie! Nota: Successivamente, mostra nel registro delle modifiche una serie di file e directory DELETED e ADDED, ma la cronologia delle revisioni segue i file in giro. :)
Yoh Suzuki,

1
Cosa devo fare se ho già spostato il file ma svn pensa ancora che sia in un'altra directory?
Shawn Mclean

4
Inoltre (certamente nella v1.7.6) devi assicurarti che la directory in cui stai spostando i file sia già stata aggiunta sovversione
icc97

La risposta leggendaria mi ha reso felice, ty!
Cyril Gandon,


22

In Esplora risorse, con il tasto destro del mouse, fai clic e trascina il file da dove si trova a dove lo desideri. Rilasciando il pulsante destro del mouse, verrà visualizzato un menu di scelta rapida con opzioni come "SVN Sposta il file versione qui".

http://tortoisesvn.net/most-forgotten-feature



5

Se vuoi spostare i file e mantenere aggiornati i file csproj, il modo più semplice è usare un plugin di Visual Studio come AnkhSVN . Ciò commetterà automaticamente sia l'azione di spostamento (come cancellazione + aggiungi con cronologia, perché funziona così Subversion) sia una modifica in .csproj


4

Dalla riga di comando, puoi digitare svn mv path1 path2. Questo creerà un'operazione di aggiunta ed eliminazione, ma in Subversion non c'è davvero modo di aggirarlo - per quanto ne so.


3

Subversion non ha ancora operazioni di rinomina di prima classe.

C'è un bug di 6 anni sul problema: http://subversion.tigris.org/issues/show_bug.cgi?id=898

È stato preso in considerazione per la versione 1.6, ora che è stato aggiunto il monitoraggio della fusione (una priorità più alta) (nella versione 1.5).


1

Utilizzare il comando RENAME di Tortoise e digitare un percorso relativo ("cartella / file.ext").


0

Come accennato in precedenza, creerai i comandi aggiungi ed elimina. Puoi usare svn move sia sulla tua copia di lavoro che sull'URL del repository. Se usi la tua copia di lavoro, le modifiche non verranno impegnate, dovrai eseguire un'operazione separata.

Se si sposta un URL, è necessario fornire un messaggio - e le modifiche si rifletteranno immediatamente nel repository.


0

Utilizzare il svn movecomando per spostare file / cartella.


0

Devi trascinare il file usando il tasto destro del mouse. Nel momento in cui rilasci il file nella nuova destinazione, osserverai l'opzione:

SVN sposta qui i file con versione.

Basta selezionare questa opzione e il gioco è fatto !!

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.