Перемещение нескольких файлов в TFS Source Control

172

Я использую Team Foundation Server 2008 (SP 1), и мне нужно переместить несколько файлов из одной папки в другую (чтобы сохранить историю файлов). В дополнение к Team Explorer (с пакетом обновления 1) у меня также установлена ​​последняя версия TFS Power Tools (октябрь 2008 г.) (для интеграции с Windows Shell).

Теперь проблема в том, что я не могу выбрать и переместить несколько файлов через оболочку или окно Source Control Explorer. Я могу переместить отдельные файлы (щелкнув правой кнопкой мыши + «Переместить»), и я могу переместить целые папки (та же операция), но когда я выбираю несколько файлов (в папке), элемент контекста «Переместить» становится серым / отключенным.

Кто-нибудь знает, возможно ли это .. а если нет .. почему бы и нет?

Кто-нибудь может предложить обходной путь, который не слишком сложен?

Пожалуйста, проголосуйте здесь: https://connect.microsoft.com/VisualStudio/feedback/details/715041/support-moving-multiple-files-in-tfs-source-control-explorer и здесь http: //visualstudio.uservoice. ком / форумы / 121579-зрительно-студия / предложения / 2271540-разрешительный передвигающийся-больше, чем один-файл-на-один раз в TFS-так

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

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

Robs
источник

Ответы:

144

Используйте инструмент tf.exe из командной строки Visual Studio - он может обрабатывать символы подстановки:

tf.exe move <olditem> <newitem>

Пример:

tf.exe move "$/My Project/V*" "$/My Project/Archive"

[РЕДАКТИРОВАТЬ] Как отмечается в комментариях: перемещение это псевдоним для переименования. Обе команды перемещают историю.

Курт Шелфтоут
источник
7
Этот другой ответ лучше здесь. moveПараметр документирован и не двигается истории, в то время как другой ответ в renameпараметр будет документирован , а также перемещает историю.
Алекс Ангас
12
Для записи, похоже, что в TFS 2010 команда move выполняет переименование, которое перемещает историю.
Джон Бледсо
10
из справки TF.EXE: вы можете использовать команду переименования или переместить псевдоним, чтобы переместить файл или папку в новое место. поэтому перемещение и переименование - это одно и то же.
Микки Перлштейн
1
Другое дело, запустить его из сопоставленного пути, используя командную строку для visual studio. в противном случае он успокаивается, чтобы не знать Worspace, и предлагает вам (бесполезный) способ выяснить, какие рабочие пространства у вас есть (а затем что ?? ничего ..) - так что запустите его из сопоставленного каталога, и все будет в порядке (работал для я)
Микки Перлштейн
Это также работает с относительными путями. cdв папку, куда вы хотите переместить файлы и сказать tf move V* Archive.
Вскоре
56

Используйте переименование вместо перемещения

tf.exe rename "$/PROJECT/SharedLibs/Log4Net/*.*" "$/PROJECT/SharedLibs/3rdParty/"
tf.exe rename "$/PROJECT/SharedLibs/ZipLib/*.*" "$/PROJECT/SharedLibs/3rdParty/"

Посмотрите справочную документацию: Справочник по командной строке TFS

Titwan
источник
Ссылка выше выбрасывает HTTP500; если он не работает, вот ссылка на командную
строку
12
moveэто просто псевдоним для rename, так что не имеет значения, какой вы используете
Джефф Олсон
Я использую систему управления исходным кодом TFS в моей Visual Studio Online, например, namgivu.visualstudio.com . И перечисление рабочей области по вызову tf workspacesне имеет записи для моего сопоставления репозитория.
Нам G VU
Msgstr "Невозможно переименовать $ / X / Y / Z, если ему назначено сопоставление рабочей папки." Также; Подстановочные знаки *. * Больше не разрешены.
Кристиан
«Вы не можете указывать подстановочный знак в качестве источника, если цель не является папкой в ​​управлении источниками». Я не знаю, что это значит. Просто переместите его на имя, на которое я указываю.
Кристиан
39

Холан Ян написал расширение Visual Studio, которое обеспечивает «перемещение» для нескольких файлов в проводнике управления исходным кодом (т. Е. С использованием графического интерфейса пользователя). Работает, также имеется поддержка последних версий.

для VS2019: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-2019

для VS2017: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-18397

для VS2015: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-13343

для VS2013: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-11508

для VS2012: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-8896

Под капотом он использует те же команды, что и упомянутые выше, но использовать его немного удобнее. Для каждой из перечисленных версий требуется RTM-версия Visual Studio.

Сид Джеймс
источник
Превосходно! Это единственное, что сработало для меня, используя VS2010: visualstudiogallery.msdn.microsoft.com/…an
Ian Campbell
Это фантастическое расширение - оно включает целый набор дополнительных функций в проводнике управления версиями, из которых перемещение нескольких файлов одновременно - это только одна часть. Я очень рекомендую это.
SqlRyan
Это ответ. Спасибо!
Фрэнк Силано
-9

Вставьте все файлы, которые вы хотите переместить, в папку, а затем переместите эту папку.

Меррик Чеффер
источник