2009-08-07 19 views
25

Utilizzo Visual Studio per la modifica del codice sorgente e, una volta, passo a Windows Explorer per eseguire il commit delle modifiche con TortoiseSVN. Questa procedura funziona bene per me e ne sono abbastanza soddisfatto. Tuttavia, recentemente ho iniziato a rinominare le classi e riorganizzare molto gli spazi dei nomi. Mi piace rinominare e spostare i file in Visual Studio perché aggiorna automaticamente il file di progetto per me. Quando applico i cambiamenti, tuttavia, devo dire a TortoiseSVN che i vecchi file sono stati cancellati e sono stati aggiunti nuovi file, il che non è del tutto vero e interrompe la cronologia del codice particolare.Ridenominazione di file con Visual Studio e TortoiseSVN

Quindi la mia domanda è: Quando rinominare il file in Visual Studio, c'è un modo per dire a TortoiseSVN che l'ho fatto per conservare la cronologia dei file?


Update (16:30): AnkhSVN sembra essere risposta ovvia, ma mi piace cosa come lo sono ora. Sembra strano ma mi piace che TortoiseSVN non venga integrato in Visual Studio. Questo è forse a causa della mia configurazione di due monitor quando ho sempre aperto il file manager sul mio monitor secondario. Forse perché ho trovato Solution Explorer un po 'goffo. Forse perché mi piace pensare all'editing del codice e al controllo delle revisioni come fasi separate dello sviluppo del software. Non lo so.

+0

Sembra che AnkhSVN sia la vostra risposta, come quasi tutte le risposte lo menzionano, incluso il mio :-) –

+2

Jakub, sono con voi su quello. Ho provato numerosi plugin CVS e SVN per VS e sono sempre tornato su Tortoise. – sbi

+2

+1 per una grande domanda. Anche +1 se potessi, per volere una soluzione che non richiede un plug-in. Mentre AnkhSVN è molto meglio di prima, non è ancora un sostituto per TSVN. Nella mia esperienza di lavoro senza AnkhSVN è stato più produttivo di lavorare con esso. –

risposta

29

Se si dispone di una versione più recente di TSVN (dopo la versione 1.5.0, penso), è possibile utilizzare la funzione "repair moves". Lo uso sempre per situazioni del genere.

+0

Hai salvato la mia cronologia. Molte grazie. –

+0

Grazie! Hai salvato anche la mia storia. – Cybis

+1

Sì, ho usato questa funzione così tanto per andare a rinominare in VS. Però è così tanto lavoro, quindi proverò AnkhSVN. Solo un pensiero l'altro giorno ... Immagina se TSVN avesse una funzionalità di rinomina Suggest nel dialogo di commit. Sarebbe epico e un enorme risparmio di tempo !!! –

7

Dai un'occhiata allo http://ankhsvn.open.collab.net/. Cerca queste cose e gestisce le modifiche in modo appropriato e mostra direttamente in Esplora soluzioni cosa è cambiato. Inoltre, non è necessario tornare a Explorer! Mi piace davvero tanto!

Non c'è motivo di impedire la cronologia dei file. Questo è l'intero punto di un sistema di controllo del codice sorgente.

+0

Ma meglio si passa a questo :-) –

0

forse è possibile utilizzare AnkhSVN plug-in per Visual Studio per svn

o ci sono i plugin del genere

3

penso AnkhSVN farà il lavoro. È un plug-in SVN gratuito per Visual Studio. C'è un altro - VisualSVN, ma il suo shareware.

0

No. Si dovrebbe eseguire lo spostamento/ridenominazione di tutti i file in TortoiseSVN (es. File explorer).

Esistono plug-in SVN per Visual Studio che potrebbero fare ciò che si desidera.

+1

Esattamente. Innanzitutto, rinomina un file in modo che abbia cambiato nome, quindi sostituiscilo con uno più nuovo, quindi esegui il commit. In questo caso, SVN eseguirà 2 operazioni. –

0

AFAIK, quando si utilizza TortoiseSVN per rinominare i file entro i limiti del controllo del codice sorgente, elimina e aggiunge i file rinominati come nuovi.

See here:

commit della cartella principale

Dal rinomina e si muove sono fatto come un DELETE seguita da un add [...]

+0

In realtà è una copia ed eliminazione. In questo modo SVN conserva (copia) la cronologia. – sbi

0

non lo faccio sapere come puoi fare ciò che hai chiesto, ma penso che puoi risolvere i tuoi problemi se inizi a utilizzare AnkhSVN.

È un ottimo strumento che integra Subversion in Visual Studio ed è possibile eseguire i commit dall'IDE VS.

Problemi correlati