TFS: просмотр всех неверсированных файлов - PullRequest
9 голосов
/ 19 августа 2011

Как просмотреть все неверсированные / неконтролируемые файлы с использованием TFS 2010 и VS 2010?

Проблема, с которой я сейчас сталкиваюсь, заключается в том, что после создания нового контроллера и просмотра с помощью контекстного меню (MVC3) я решилоткатить все эти файлы, отменив добавление в моем окне ожидающих изменений.Я обнаружил, что файлы больше не находятся в TFS, но все еще находятся на диске.Я хотел бы видеть файлы, которые в настоящее время находятся на диске, но не имеют версий TFS.

Это тривиально в Subversion и Git (эти файлы всегда будут появляться, если не указано явное игнорирование их), но я не вижу возможности просматривать их в TFS - они не отображаются в моем представлении Pending Changes.Я новичок в TFS, поэтому я предполагаю, что я что-то упустил.

Ответы [ 4 ]

17 голосов
/ 19 августа 2011

Если вы пытаетесь определить все файлы, которые существуют в вашей файловой системе в папке проекта, которые НЕ находятся в TFS,

  1. Открытая визуальная студия
  2. Открыть Team Explorer (ctrl-w, m)
  3. Перейти в «Контроль исходного кода»
  4. Перейдите в папку, в которой вы хотите найти неверсионные файлы.
  5. В верхней панели есть значок с двумя папками и увеличительным стеклом между ними, подсказка «сравнить папки»

    enter image description here

  6. Сравните «Исходный путь:» всего, что он предлагает (возможно, версию сервера), с «Целевым путем:» вашей локальной версии.

Он выделит все различия в этих папках. Любые файлы, которые существуют в правом (локальном) столбце, являются файлами, которые в настоящее время не хранятся в TFS.

7 голосов
/ 19 августа 2011

Team Foundation Server не удаляет файлы при отмене ожидающего добавления для них - это предотвращает возможную потерю данных.(Возможно, например, что вы хотите создать файл локально, но , а не , отметьте его на Team Foundation Server - поскольку Visual Studio и Eclipse автоматически ожидают этот файл как дополнение, если его удалитьфайлы, когда вы отменяете добавление, тогда не будет никакого способа иметь файл локально, который не существует на сервере.поможет вам синхронизировать локальное рабочее пространство с сервером.

Если на диске есть файлы, которых нет на сервере, и вы хотите обновить их (отправить их на сервер), вы можете использовать tfpt online,Это обнаружит все файлы, которые были добавлены или изменены локально, и создаст новые ожидающие изменения для обновления сервера.Это особенно полезно, если вы работали без подключения к серверу и хотите отложить эти изменения.

Если на диске есть файлы, которые вы хотите удалить или иным образом обновить до последнейверсию сервера, вы можете использовать tfpt scorch.Это обнаружит любые файлы, которые были добавлены, изменены или удалены локально, и позволит вам обновить их до последней версии сервера.Если вы просто хотите посмотреть список файлов и не выполнять никаких действий автоматически, есть режим предварительного просмотра, который вы можете использовать с tfpt scorch /preview.

2 голосов
/ 23 августа 2012

Предполагая, что у вас установлен PowerShell, и tf.exe (из инструментов TFS Explorer) и sed.exe (инструмент GNU) в вашем пути, вы можете использовать этот скрипт (PowerShell) для выполнения работы:

if((tf prop .) -ne $null) {
  tf folderdiff . /r /view:targetOnly /noprompt | sed -e '/^=\+$/,/^=\+$/d; /^$/d' | %{
    if(Test-Path $_) {
      rm $_ -Rec
    }
  }
}
0 голосов
/ 19 августа 2011

На самом деле, довольно простой способ удаления файлов / папок из вашей файловой системы - просто удалить (или переместить) локальные папки проекта, а затем «получить конкретную версию» из TFS.Обязательно установите оба флажка «перезаписать».

После этого будет удалено все, что в данный момент хранится в TFS.

...