Как скачать TFS shelveset

Мне нужно скачать shelveset из TFS в локальную папку. Существуют ли какие-либо инструменты или надстройки для Visual Studio 2010 для загрузки полки

3 ответа

Если вам просто нужно получить файлы из набора полок в локальную папку, это нормальный процесс, который называется Unshelve. Он загружает файлы в вашу локальную папку.

введите описание изображения здесь

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

  • Файл 1
  • Файл 2

У полки есть:

  • Файл 1 (изменен)
  • Файл 3 (создан)

После небрежного будет:

  • Файл 1 (обновлен)
  • Файл 2
  • Файл 3 (добавлено)

Если вам нужно, чтобы в папке рабочей области были только файлы из набора полок, без чего-либо еще, одним из способов будет:

  1. Создайте новое рабочее пространство, но ничего не загружайте (т.е. не получайте последнюю версию)
  2. Это должно создать пустую локальную папку
  3. Отключить, используя Visual Studio или tf.exe
  4. У вас должны быть только файлы с полки

Вы можете найти больше информации об управлении полками здесь: приостановите свою работу и управляйте полками (MSDN)

Используя командную строку, мы можем получить дамп файлов:

set shelveset=<ShelvesetName>
set temppath=c:\temp\%shelveset%
md %temppath%

for /f "delims=;" %t in ('tf status /shelveset:%shelveset% /format:detailed ^| find ^"$^"') do tf view %t /shelveset:%shelveset% /noprompt > %temppath%\%~nxt

Обратите внимание, что это дает плоскую структуру и будет перезаписывать, если есть файлы с таким же именем.

  1. Закрыть Visual Studio
  2. Переименуйте папку, например, добавьте оригинал постфикса к имени папки, чтобы папка "SolutionX" стала "SolutionX - Original"
  3. Снова создайте папку "SolutionX", она будет пустой
  4. Open VS, unshelve shelvset1, "SolutionX" теперь будет иметь только файлы shelvset1
  5. Закрыть VS (это может не понадобиться)
  6. Переименуйте "SolutionX", например, в "SolutionX Shelveset1"
  7. Снова создайте папку "SolutionX", она будет пустой
  8. Откройте VS и отмените ожидающие изменения
  9. Отмена полки shelvset2, теперь у "SolutionX" будут только файлы shelvset1
  10. Закройте VS, переименуйте папку "SolutionX" в "SolutionX Shelveset2"
  11. Переименуйте папку "SolutionX - Original" в "SolutionX"
  12. Откройте VS и отмените ожидающие изменения
  13. Используйте инструмент сравнения, чтобы сравнить "SolutionX Shelveset1" и "SolutionX Shelveset2"

    Если вы обнаружите, что некоторые шаги не нужны, дайте мне знать, чтобы обновить это, я попробовал первый ответ, столкнулся с проблемами и должен был придумать это вместо этого.

Другие вопросы по тегам