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à.

È stato utile?

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.

  1. Conferma lo stato corrente dei file, ora puoi sempre ripristinare a questa revisione e ripristinare lo stato dei tuoi file

  2. 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top