I progetti non sono composti di soli file sorgente cs o vb, talvolta vi si trovano file in formato XML oppure altre tipologie di file su cui è difficile, o quasi impossibile effettuare una merge. Un esempio classico è il designer di Entity Framework, basta aprire un file edmx e spostare un’entità in giro per fare automaticamente il check-out e se qualcun’altro ha fatto la stessa operazione ci si trova con un conflitto sul file edmx che è praticamente un delirio per fare il merge.
In Tfs esiste una configurazione a livello di Team Project Collection che permette di selezionare tutte le estensioni dei file per cui non si vuole abilitare la merge e quindi impedire il check-out multiplo.
Per fare questo il primo passo è aprire la form di configurazione dal team explorer, tasto destro sulla collection e poi “team project collection settings” –> “Source Control File Types”
Figura 1: Aprire il pannello di configurazione per i Source Control File Types
A questo punto si apre una finestra in cui sono listate tutte le estensioni di file che TFS ha di default, si può quindi cliccare add ed aggiungere l’estensione per i file di desginer di EF.
Figura 2: creare una nuova estensione, togliere il segno di spunta sull ‘”enable file merging…”
A questo punto vi dovreste trovare nella situazione di Figura 3.
Figura 3: Ora l’estensione edmx ha il File Merging disabilitato
Quello che succede è che se se proviamo a modificare un file edmx quando qualcun’altro lo ha già messo in check-out
Figura 4: Non è possibile fare il check-out multiplo di file con estensione edmx
In questo modo chiaramente due persone non possono lavorare sullo stesso file, ma nel caso di formati per cui fare il merge è un’operazione veramente onerosa, è probabilmente una soluzione molto più accettabile di dovere buttare via il proprio lavoro perchè non si riesce più a fare il merge.
alk.
Tags: Tfs ALM EntityFramework