[Team System] Inside Labeling I: label con lo stesso nome

Le labels sono uno strumento molto utilizzato, ma la cui gestione non é sempre molto chiara.

Apparentemente non é possibile avere label con nome duplicato all'interno dello stesso team project:

se creo una label di nome paperino sul file $/pippo/x.cs

e cerco di creare un'altra label con lo stesso nome sul file $/pippo/y.cs

il secondo file verrà semplicemente aggiunto alla label esistente (di cui verrà fatto l'update dei commenti).

 

Questo comportamento non é solo a livello di Team Explorer, ma anche dall'Object Model:

se chiamo, con gli opportuni parametri, il metodo VersionControlServer.CreateLabel due volte otterrò come risposta rispettivamente: LabelResultStatus.Created e LabelResultStatus.Updated (se da Team Eplorer capisco e sottoscrivo, da OM questo comportamento vi confesso che per me é un boccone un po' amaro).

 

All'apparenza potremmo pensare che le label siano univoche per nome. Niente di più falso (non a caso nell'Object Model c'é la proprietà VersionControlLabel.LabelId).

Basta andare con Team Explorer in un altro Team Project e creare una label con lo stesso nome e ciò sarà possibile senza difficoltà:

ad esempio posso ancora creare una label di nome paperino sul file $/pluto/z.cs

 

A questo punto potremmo pensare che le label siano univoche per nome all'interno dello stesso TeamProject, ma anche qui saremmo in errore:

di per se le Label sono oggetti "cross-teamproject" in quanto é possibile creare una label aggiungendovi files da diversi teamprojects (basta che apriate i details della label e aggiungiate un file da un altro teamproject).

 

Conclusione: Team System tende a riutilizzare label con lo stesso nome finché queste hanno file all'interno dello stesso TeamProject, ma é comunque possibile creare label con nomi duplicati.

Le mie considerazioni personali: per quanto questo comportamento sembri "stonato" é probabilmente il migliore che si potesse avere:

  • Che senso hanno due label con lo stesso nome all'interno dello stesso teamproject? Come fa un utente a distinguerne una dall'altra?
  • Perché dovrei impedire che esistano due label con lo stesso nome in Team Projects differenti (magari gestiti da team differenti)?
  • Perché non dovrei poter creare una label cross-teamproject (pensate ad un team che lavora su una suite di programmi)?

...forse l'unico piccolo dettaglio: sarebbe bello avere un feedback da Team Explorer nel caso di una label esistente e lasciare scegliere all'utente se aggiornarla o modificare il nome della nuova label.

Print | posted on giovedì 30 agosto 2007 14:54

Comments have been closed on this topic.