Il est difficile de répondre à une déclaration sans exemples de la façon dont cela ne fonctionne pas, mais il est crucial de comprendre que TFVC (en mode "Server Workspace", qui était le mécanisme avant TFS 2012) n'examine pas l'état de votre système de fichiers local . Les espaces de travail du serveur TFVC sont un système de type «extraction-édition-archivage» où il s'agit d'une décision délibérée prise pour réduire massivement la quantité d'E / S de fichier requise pour déterminer l'état de votre espace de travail. Au lieu de cela, les informations de l'espace de travail sont enregistrées sur le serveur.
Cela permet aux espaces de travail du serveur TFVC de s'adapter très efficacement à de très grandes bases de code. Si vous êtes dans une base de code de plusieurs gigaoctets (comme Visual Studio ou l'arborescence des sources Windows), votre client n'a pas besoin d'analyser votre système de fichiers local, à la recherche de fichiers qui peuvent avoir changé, car le contrat que vous avez avec TFS est que vous extraira explicitement un fichier lorsque vous souhaitez le modifier.
Vous êtes censé ne pas marquer un fichier comme étant en écriture seule et le modifier sans le retirer explicitement au préalable. Si vous suivez cette voie, le serveur ne sait pas que vous avez apporté des modifications à votre fichier et l'exécution d'une opération "Obtenir la dernière" ne mettra pas à jour votre espace de travail local, car vous n'avez pas informé le serveur que vous avez effectué changements.
Si vous faites subvertir ce mécanisme, vous pouvez utiliser la tfpt reconcile
commande pour examiner votre espace de travail local pour les changements que vous avez fait sur place.
Si vous vous retrouvez à utiliser "Obtenir une version spécifique" et à sélectionner les options "forcer" et "écraser", il est fort probable que vous ayez l'habitude de contourner toutes les applications mises en œuvre par TFS pour vous empêcher de vous blesser, et vous devriez probablement considérer les espaces de travail locaux TFVC.
Les espaces de travail locaux TFVC fournissent un système de contrôle de version de type «édition-fusion-validation», ce qui signifie que vous n'avez pas besoin d'extraire explicitement les fichiers avant de les éditer et qu'ils ne sont pas en lecture seule sur le disque. Au lieu de cela, vous devez simplement modifier le fichier, et votre client analysera le système de fichiers, notera le changement et le présentera comme un changement en attente.
Les espaces de travail locaux TFVC sont recommandés pour les petits projets qui ne nécessitent pas un contrôle précis des autorisations, car ils présentent un flux de travail beaucoup plus agréable. Vous n'êtes pas obligé d'être en ligne et vous n'avez pas à extraire explicitement les fichiers avant de les modifier.
Les espaces de travail locaux TFVC sont la valeur par défaut dans TFS 2012, et s'ils ne sont pas activés pour vous, vous devez demander à votre administrateur de serveur. (Les organisations avec de très grandes bases de code ou des exigences d'audit strictes peuvent désactiver les espaces de travail locaux TFVC.)
L'excellent livre d'Eric Sink, Version Control By Example, décrit les différences entre les systèmes checkout-edit-checkin et edit-merge-commit et quand l'un est plus approprié que l'autre.
Le livre Professional Team Foundation Server 2013 fournit également d'excellentes informations sur les différences entre les espaces de travail du serveur TFVC et les espaces de travail locaux TFVC. La documentation et les blogs MSDN fournissent également des informations détaillées: