SVN / Tortoise - Generazione di etichette
-
20-08-2019 - |
Domanda
In Clearcase posso generare un " label " per un determinato set di file e torna sempre a quell'etichetta per rigenerare tutti i file come erano quando ho generato l'etichetta.
Come posso farlo in Subversion? Sto usando il front-end Tortoise [Windows] su SVN e non sono sicuro di come realizzare questa funzionalità.
Soluzione
In effetti in SVN ogni commit crea un 'etichetta' . Puoi tornare a ogni revisione (commit) in qualsiasi momento.
Non c'è nessuna differenza tra un ramo e un tag in teoria. Solo che un ramo viene ulteriormente sviluppato e unito ai commit di diversi sviluppatori, mentre nessuno dovrebbe mai impegnarsi in un tag.
Ai tag viene normalmente assegnato un nome più dettagliato come "RC 1.5 - il giorno in cui alla fine sembrava stabile".
Questo spiega perché 'Crea branch / tag' in Tortoise è uno.
E essenzialmente svn crea semplicemente una copia dell'ultima revisione in un'altra directory (ad es. tag). Questa copia non è ovviamente una copia completa ma una diff normale, quindi i numeri di revisione continua.
Altri suggerimenti
L'equivalente di un'etichetta in sovversione è un " tag " (ovvero creare un ramo in una cartella allo scopo specifico di contrassegnare una revisione). Nel browser repository, fare clic con il pulsante destro del mouse, & Quot; Copia in ... & Quot; e quindi scegli un nuovo nome per la cartella.
http://svnbook.red-bean.com/en/1.5/svn.branchmerge.tags .html
Tags
sono l'equivalente delle etichette in Subversion.
I tag vengono creati tramite il comando copy
o nell'opzione di menu TortoiseSVN Branch/Tag
.
Per convenzione, tags
vengono copiati in un <=> percorso nel repository Subversion.
A proposito, l'aiuto di TortoiseSVN è davvero ben fatto - la Guida all'uso quotidiano è molto utile.
Potresti farlo in due modi.
-
Conferma lo stato corrente dei file, ora puoi sempre ripristinare a questa revisione e ripristinare lo stato dei tuoi file
-
Crea un nuovo tag con i tuoi file correnti e continua a lavorare nel trunk.
Usa svn copy e creane una copia nella cartella tags. Questa è una convenzione più di ogni altra cosa, ma la maggior parte dei repository avrà cartelle chiamate trunk, tag e branch.
Non preoccuparti di creare copie extra - non sta davvero duplicando tutti quei file - le copie sono economiche in sovversione.
Ad esempio:
svn copy /trunk/foo /tags/foo-1.0