Трудно ответить на утверждение без примеров того, как оно не работает, но важно понимать, что TFVC (в режиме «Рабочая область сервера», который был механизмом до TFS 2012) не проверяет состояние вашей локальной файловой системы . TFVC Server Workspaces - это система типа «checkout-edit-checkin», в которой это задуманно, намеренное решение, принятое для значительного уменьшения количества файловых операций ввода-вывода, необходимых для определения состояния вашего рабочего пространства. Вместо этого информация о рабочей области сохраняется на сервере.
Это позволяет TFVC Server Workspaces очень эффективно масштабироваться до очень больших кодовых баз. Если вы используете кодовую базу в несколько гигабайт (например, Visual Studio или дерево исходных кодов Windows), тогда вашему клиенту не нужно сканировать вашу локальную файловую систему, чтобы найти файлы, которые могли измениться, потому что у вас есть контракт с TFS. будет явно проверять файл, когда вы хотите его редактировать.
Предполагается, что вы не помечаете файл как доступный только для записи и изменяете его без предварительной явной проверки. Если вы пойдете по этому пути, то сервер не будет знать, что вы внесли изменения в ваш файл, и выполнение операции «Получить последнюю версию» не обновит локальное рабочее пространство, поскольку вы не сообщили серверу, что сделали меняется.
Если вы делаете подрывать этот механизм , то вы можете использовать tfpt reconcile
команду , чтобы изучить локальное рабочее пространство для изменений , которые вы сделали на месте.
Если вы обнаружите, что используете «Get Specific Version» и выбираете опции «force» и «overwrite», то вполне вероятно, что вы привыкли обходить все принудительные меры, которые TFS реализовал, чтобы не причинить вам вреда, и вы должны, вероятно, рассмотреть локальные рабочие области TFVC.
Локальные рабочие пространства TFVC предоставляют систему управления версиями типа edit-merge-commit, что означает, что вам не нужно явно извлекать файлы перед их редактированием, и они не доступны только для чтения на диске. Вместо этого вам просто нужно отредактировать файл, и ваш клиент просканирует файловую систему, заметит изменение и представит его как ожидающее изменение.
Локальные рабочие пространства TFVC рекомендуются для небольших проектов, не требующих детального контроля разрешений, поскольку они обеспечивают гораздо более приятный рабочий процесс. Вы не обязаны быть в сети, и вам не нужно явно проверять файлы перед их редактированием.
Локальные рабочие пространства TFVC по умолчанию используются в TFS 2012, и если они не включены для вас, вам следует обратиться к администратору сервера. (Организации с очень большими кодовыми базами или строгими требованиями аудита могут отключить локальные рабочие области TFVC.)
В превосходной книге Эрика Синка « Управление версиями на примере» описаны различия между системами checkout-edit-checkin и edit-merge-commit и тем, когда одна из них более подходящая, чем другая.
Книга Professional Team Foundation Server 2013 также содержит отличную информацию о различиях между рабочими пространствами TFVC Server и локальными рабочими пространствами TFVC. Документация MSDN и блоги также предоставляют подробную информацию: