TFS e il non Get Latest Version su Checkout

Da una settimana, io ed il mio team abbiamo traslocato da Visual Source Safe a Team Foundation Server.
Una delle cose che mi ha un pò spiazzato è stato quando, facendo Checkin dei miei file modificati, mi trovo una bella finestra che mi dice che c'è un conflitto nel file perchè nel server è presente una nuova versione. Al momento mi sono chiesto, "ma com'è possibile??? VSS forse funzionava meglio, queste cose non me le combinava".
Volevo capire cosa accadeva... chiedo al mio collega di fare una Get Latest Version della solution, lo stesso faccio anch'io (per portarci alla pari), poi modifico un file, faccio il Chekin, vado da lui e gli dico di fare il Chekout dello stesso file, e cosa bella, non aveva le modifiche che avevo appena inserito.
Vebbè, ci sarà un motivo mi dico, forse ci sarà una opzione da attivare, ma niente... pazienza, ma almeno ci siamo resi conto di cosa accadeva: TFS non fa la Get Latest Version quando fa il Checkout.

Chiedendo a Lorenzo di questa cosa, mi ha segnalato questo post (http://blogs.msdn.com/buckh/archive/2005/08/20/454140.aspx) dove viene spiegato il perchè di questo comportamento/scelta di TFS.

Effettivamente, il get latest version di un file precedentemente modificato da un membro del team, potrebbe generarmi degli errori se in quel file siano stati introdotti dei cambiamenti che dipendono da modifiche fatte anche in altri file (scusate il giro di parole ). Per risolvere questi errori dovrei fare una get latest version dell'intera solution e non solo del singolo file, che nel caso di una piccola solution mi potrebbe anche stare bene, ma mettetevi nei panni di chi ha una solution con molti progetti e dove le modifiche da caricare siano numerose...

Con questa scelta, TFS ci permette di continuare il nostro lavoro senza dipendere dalle modifiche fatte dai membri del team, e di risolvere eventuali conflitti quando andreamo a fare il Checkin delle nostre modifiche.

Quindi, ora posso dire +1 per TFS.

Print | posted on venerdì 16 giugno 2006 21:14