Tag e rami

Discuteremo qui solo gli aspetti tecnici di tag e rami. Se sei solo un utente, non l'amministratore del deposito, probabilmente non avrai il problema. Se invece sei l'amministratore di un tuo deposito privato, dovresti prima informarti sui problemi non tecnici che seguono le diramazioni, per avere un'idea di quanto la manutenzione di più rami di un progetto si paghi in termini di tempo ed errori. L'appendice include alcuni riferimenti al riguardo.

I tag semplici si fanno di solito in concomitanza con un rilascio, in modo da poter in seguito riottenere facilmente lo stato del progetto in quel momento. I tag di solito ricevono un nome costruito con il nome del progetto e il numero della versione. Per esempio, Cervisia 1.0 è disponibile con il tag CERVISIA_1_0. Cervisia applica le rigide regole di CVS riguardo alla validità dei nomi dei tag: deve cominciare con una lettera e può contenere lettere, cifre, trattini e caratteri di sottolineatura.

Normalmente si applica il tag a tutto il progetto (sebbene CVS permetta anche di applicarlo a un suo sottoinsieme). A tal fine, seleziona la cartella di massimo livello e seleziona AvanzateCrea tag o ramo. Inserisci ora il nome del tag, premi Invio e hai finito.

Creare un ramo non è molto più difficile: nella finestra del tag, spunta la casella Crea un ramo con questo tag. Puoi anche eliminare un tag esistente: scegli AvanzateElimina tag nella vista principale.

Un altro aspetto delle diramazioni è la fusione delle modifiche da un altro ramo a quello attuale. Se intendi farlo, scegli AvanzateFondi. La finestra che si presenta dà due possibilità:

Puoi fondere tutte le modifiche fatte su un ramo nel ramo attuale. In tal caso, spunta la casella Fondi dal ramo e inserisci il ramo da cui vuoi fondere. Cervisia eseguirà quindi il comando:

cvs update -j nome_del_ramo

L'altra possibilità è fondere solo le modifiche fatte su un ramo tra due tag. Questo di solito avviene quando fondi più volte dallo stesso ramo. In tal caso, spunta la casella Fondi le modifiche e inserisci (nell'ordine giusto) due tag. Ciò produrrà il comando:

cvs update -j tag_del_primo_ramo -j tag_del_secondo_ramo