È difficile rispondere a una dichiarazione senza esempi di come non funzioni, ma è fondamentale capire che TFVC (in modalità "Area di lavoro del server", che era il meccanismo precedente a TFS 2012) non esamina lo stato del file system locale . Le aree di lavoro del server TFVC sono un tipo di sistema "checkout-edit-checkin" in cui è una progettazione, una decisione intenzionale presa per ridurre in modo massiccio la quantità di I / O dei file richiesta per determinare lo stato dell'area di lavoro. Al contrario, le informazioni sull'area di lavoro vengono salvate sul server.
Ciò consente agli spazi di lavoro del server TFVC di scalare in modo molto efficiente basi di codice molto grandi. Se ti trovi in una base di codice multi-gigabyte (come Visual Studio o l'albero dei sorgenti di Windows), il tuo client non ha bisogno di scansionare il tuo filesystem locale, alla ricerca di file che potrebbero essere cambiati, perché il contratto che hai con TFS è che tu controllerà esplicitamente un file quando si desidera modificarlo.
Non devi contrassegnare un file come di sola scrittura e modificarlo senza prima verificarlo esplicitamente. Se segui questa strada, il server non sa che hai apportato modifiche al tuo file e l'esecuzione di un'operazione "Ottieni le ultime" non aggiornerà l'area di lavoro locale, perché non hai comunicato al server che hai effettuato i cambiamenti.
Se fai sovvertire questo meccanismo, è possibile utilizzare il tfpt reconcile
comando per esaminare il vostro spazio di lavoro locale per le modifiche che avete fatto a livello locale.
Se ti ritrovi a utilizzare "Ottieni versione specifica" e selezionando le opzioni "forza" e "sovrascrivi", è molto probabile che tu abbia l'abitudine di aggirare tutte le forze di sicurezza che TFS ha implementato per impedirti di farti del male, e dovresti probabilmente considerare gli ambienti di lavoro locali TFVC.
Le aree di lavoro locali di TFVC forniscono un tipo di sistema di controllo della versione "edit-merge-commit", il che significa che non è necessario controllare esplicitamente i file prima di modificarli e non sono di sola lettura su disco. Invece, devi semplicemente modificare il file e il tuo client eseguirà la scansione del filesystem, noterà la modifica e la presenterà come una modifica in sospeso.
Le aree di lavoro locali TFVC sono consigliate per piccoli progetti che non richiedono un controllo delle autorizzazioni dettagliato, poiché presentano un flusso di lavoro molto più efficiente. Non è necessario essere online e non è necessario controllare esplicitamente i file prima di modificarli.
Le aree di lavoro locali TFVC sono quelle predefinite in TFS 2012 e, se non sono abilitate per te, dovresti chiedere al tuo amministratore del server. (Le organizzazioni con basi di codice molto grandi o requisiti di controllo rigorosi possono disabilitare gli spazi di lavoro locali TFVC.)
L'eccellente libro di Eric Sink Controllo della versione per esempio delinea le differenze tra i sistemi di checkout-edit-checkin e edit-merge-commit e quando uno è più appropriato dell'altro.
Il libro Professional Team Foundation Server 2013 fornisce inoltre informazioni eccellenti sulle differenze tra gli spazi di lavoro del server TFVC e gli spazi di lavoro locali TFVC. La documentazione e i blog MSDN forniscono anche informazioni dettagliate: