Eccomi qui, finalmente, a scrivere il mio primo vero post.
Tra le funzionalità di Team Foundation Server e l'altra, io trovo molto utile la possibilità di impostare le policies di checkin, ovvero la possibilità di dare delle guide che devono essere rispettate in fase di salvataggio nel repository.
Chi gestisce un progetto fa affidamento su queste policy per diversi motivi. Vuoi per valutare lo stato di avanzamento, vuoi per studiare la qualità, vuoi per mille altri motivi, ma se queste policies non vengono seguite, può essere assai difficile tenere sotto controllo lo sviluppo. Purtroppo (o per fortuna, dipendentemente dalle situazioni) non c'è modo per impore queste regole. E' possibile, infatti, bypassare una policy, previo inserimento di un commento. Le policies non sono binari che si è costretti a seguire, ma linee guida che possono solo dare una direzione.
E' impensabile andare a guardare tutti i changeset con relativi commenti. Inoltre potrebbe essere utile avere un report schedulato in modo tale da inviare una mail al PM con i dettagli tutti il lunedì mattina.
Perchè, allora, non crearsi un report ad hoc? Un report che mostri i changeset (Id, data, chi ha effettuato l'operazione, commento) e sul quale si possano poi apporre dei filtri?
L'unico "problema" nel realizzare un report di questo tipo potrebbe essere quello di crearsi la query. Nulla davvero di più facile. I database sui quali si deve operare sono 2: TfsVersionControl e TfsWarehouse. Il primo utilizzato per prelevare le informazioni di check-in ed il secondo le informazioni sull'utente.
SELECT
p.ChangeSetId,
cs.CreationDate,
cs.Comment as CheckInComment,
p.Comment as OverrideComment,
pr.Person,
pr.Email
FROM
TfsVersionControl..tbl_PolicyOverride p
INNER JOIN
TfsVersionControl..tbl_ChangeSet cs ON p.ChangeSetId=cs.ChangeSetId
INNER JOIN
TfsVersionControl..tbl_Identity i ON cs.OwnerId=i.IdentityId
INNER JOIN
TfsWarehouse..Person pr ON i.DisplayName=(pr.Domain+'\'+pr.Alias)
Data questa query, il report viene da sè. Si possono creare filtri sull'id, sulla data, sull'utente e ovviamente sul commento di override, che interessa a noi.
Come primo intervento, non ho sicuramente fornito perle particolarmente preziose, tuttavia durante la valutazione di un progetto e il suo proseguimento, sapere quando e chi non ha rispettato le policy può essere molto utile.
Ciao a tutti
-Diego-