2010-01-26 12 views
9

Sto tentando di spostare un file in un'altra cartella all'interno di un repository TortoiseSVN e la cronologia delle revisioni non viene conservata. Ho provato a spostare i file utilizzando il Repo-browser (con il tasto destro del mouse trascina i file e seleziona "Sposta gli elementi qui") nella cartella di lavoro (fai clic con il pulsante destro del mouse, seleziona "SVN Move versioned here file" e commetti la cartella principale). In entrambi i casi la storia non è conservata. Ho letto il manuale di TortoiseSVN e alcuni altri post di persone e sono postitivo quelli sono i modi per farlo. Mi sto perdendo qualcosa?TortoiseSVN: il file Move non conserva la cronologia

+0

duplicato di http://stackoverflow.com/questions/2104289/svn-rename-directory-maintain-file-history/ – jamessan

+3

Se ricordo correttamente (non posso cercarlo adesso), il visualizzatore di storia di TortoiseSVN mostra solo la cronologia fino a una mossa o copia, e c'è una casella di controllo per farlo scavare più a fondo. – Thomas

+5

Hai smarcato "Stop on Copy/Rename" nel tuo History-browser? – Leonidas

risposta

15

Subversion e TortoiseSVN mantengono assolutamente la cronologia dei file. (Si tratta di uno degli aspetti fondamentali di SVN.)

Due punti chiave (che già sembra di essere a conoscenza di):

  • Devi usare i/copiare/rinominare i comandi svn move. In caso contrario, SVN non sarà in grado di sapere che sono lo stesso file.

  • Quando si guarda il log spostato/copiato/rinominato, è necessario assicurarsi che l'opzione "Stop in copia/rinomina" sia deselezionata. In caso contrario, il registro arriverà solo indietro.

Ora, tenere presente che è necessario controllare il registro per qualcosa che è stato effettivamente spostato/copiato. Guarda il registro del file che è stato copiato. Non guardare il registro della directory da cui lo hai copiato o la directory in cui l'hai copiato.

+0

Grazie! Ho entrambi i punti coperti, ma ancora nessuna storia. E Subversion usa un numero di revisione globale, quindi se faccio un "Show log" nella root nel browser repo, dovrei vedere l'operazione di spostamento. Per qualche ragione questo non si sta rivelando. –

+0

Se si visualizza il registro nella directory principale del repository, è necessario visualizzare ogni modifica. Cosa mostra per la revisione in cui hai effettuato l'operazione di spostamento? –

+1

Osservando la finestra di registro per una cartella dopo che un file è stato rinominato: dovresti vedere il file "rimosso" dalla vecchia posizione e "aggiunto" alla nuova posizione. Vedrete le colonne "copia dal percorso" e "revisione" vengono popolate, che mostra la discendenza del file. Se si esegue un log di visualizzazione sul singolo file, verrà mostrata la cronologia del file fino alla fine (purché "stop on copy/rename" sia deselezionato). –

8

La pagina con la risposta è stata rimossa dal TortoiseSVN aiuto docs: http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-rename.html>

Ma esiste ancora nella cache di Google:

http://webcache.googleusercontent.com/search?q=cache:x7UeADC8BpwJ:tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-rename.html+&cd=4&hl=en&ct=clnk&gl=us

Se si desidera spostare i file all'interno la tua copia di lavoro, magari in una sottocartella diversa, usa il gestore di trascinamento della selezione del mouse destro:

selezionare i file o le directory che si desidera spostare

destra trascinarli nella nuova posizione all'interno della copia di lavoro

rilascio il tasto destro del mouse

nel menu a comparsa, selezionare Context Menu → svn move di versione file qui

enter image description here

Problemi correlati