Team System @ University Have you ever heard about Team Foundation Server?

18Feb/100

Branch Visualization in Visual Studio 2010

In questo articolo vedremo come utilizzare nei nostri progetti la funzionalitò di Branch Visualization offertaci da Visual Studio ALM 2010.

Ipotizziamo di utilizzare un approccio di tipo “branch-per-feature”, e di avere tre funzionalità da implementare nel nostro applicativo.

image

Ovviamente oltre alle branch per ogni feature, abbiamo anche le classiche branch di sviluppo e rilascio (Dev per il codice “da testare” e Main per il codice RTM, di produzione).

image

Partiamo dal progetto vuoto (sia in Main, che in Dev ovviamente):

image 

Questo è quindi branchato per ogni singola feature che abbiamo. Otterremo un totale di cinque branch diverse (Main, Dev, e le tre features dei nostri work items). Ora iniziamo ad implementare la prima feature:

image

Dopodichè vado ad eseguire il merge della prima feature all’interno di Dev:

image

Ed in questo modo implemento anche le altre due. Andando avanti con lo sviluppo, potrei scontrarmi con una incongruenza di versione. Nessun problema, con il tool di comparazione manuale (questo è un caso estremo in cui sto implementando tre “righe” diverse nella stessa posizione, in scenari reali non accade con questa frequenza):

image

image

Il risultato finale, a livello di codice, sarà il seguente (in Dev):

image

Ora, come posso capire graficamente la mia gerarchia di branch ? Proprio tramite la branch visualization!

image

image

Questa è una delle tante visualizzazioni, ed è totalmente customizzabile.

image

Ed ora? Beh ora vorrei capire dove un changeset è stato chiuso ed integrato nella branch superiore. La Branch Visualization ci viene in soccorso. Tramite la History vado a cercare il changeset che mi interessa, ed eseguo un Changeset Tracking:

image

image

image

Il risultato è una visualizzazione grafica, che può essere di due tipi: in base alla gerarchia o al tempo.

image

image

In questo caso di demo, la visualizzazione più utile risulta essere il Timeline Tracking :)

 

Alla prossima!

Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


No trackbacks yet.