Как восстановить / отменить неизмененные файлы в TFS? - PullRequest
3 голосов
/ 20 сентября 2011

Я хотел бы знать, есть ли полезная команда для отмены неизмененных файлов в TFS.

Я пробовал с командой "tfpt uu".Но он только отменяет / возвращает файлы, которые не были изменены на сервере и в моей локальной рабочей области.Например.все файлы, которые были изменены на сервере, но не были затронуты в рабочей области, остаются проверенными.Я хочу вернуть / отменить все файлы, которые не были изменены в моей рабочей области.Команда ufpt tfpt кажется бесполезной для этого сценария.

Как я могу вернуть / отменить неизмененные файлы в TFS, где определение неизмененного файла - это файл, который не был изменен в рабочей области.

Пример:

У меня есть два рабочих пространства ws1 и ws2.Ws2 предназначен для симуляции другого пользователя, вносящего изменения в исходные тексты в TFS, а ws1 представляет мое собственное рабочее пространство.У нас есть 3 файла A, B и C.

  1. Оформить заказ на ws1.(A, B и C извлечены)
  2. Изменить файл A в ws2.
  3. Регистрация файла A в ws2.
  4. Изменение файла B в ws1.
  5. Выполнение tfpt uu на ws1.

Единственный файл, который был возвращен / отменен - ​​это C. Файлы A и B по-прежнему извлекаются в ws1

Я ожидаю, что и A, и C были возвращены / отменены, поскольку онине были изменены в WS1.

Ответы [ 5 ]

4 голосов
/ 21 сентября 2011

Укажите параметр /noget на tfpt uu, и я думаю, что вы получите то поведение, которое вам нужно.

1 голос
/ 12 апреля 2012

Похоже, вам нужно объединить / разрешить изменения в файле A, прежде чем tfpt uu распознает, что файл не изменился.Поскольку файл A извлечен, TFS ожидает от вас разрешения файла до того, как он обновит вашу локальную копию.Поэтому tfpt не распознает, что файл не изменился, потому что он не совпадает с (последней) версией сервера.

0 голосов
/ 28 июля 2017

Релевантно: Атрибут Дата создания / изменения в файлах , по-видимому, делает tfpt uu неработоспособным, поскольку я вручную копирую / вставляю файлы из локального каталога одной ветви в другую и отказывается что-либо отменять, даже если только несколько файлов были изменены.

В моем случае, метки времени модификации одинаковы, но метки времени создания отключены на 10 минут, потому что, по-видимому, мне понадобилось время, чтобы загрузить две ветки на мою локальную машину разработки.

0 голосов
/ 14 октября 2015

Я столкнулся с подобной ситуацией, когда я разветвлял свой код, затем переименовал ветвь, и когда я начал объединять их, у каждого файла было «изменение» из-за переименования (физический путь изменился).

Я попробовал 2 варианта:

  1. tfpt uu / what-options-options-you-want - В моем конкретном случае это не отменило изменения, потому чтоЯ думаю, технически они были изменениями?
  2. Другое решение, с которым я столкнулся, - отменить все ожидающие изменения, а затем нажать «Нет для всех», когда появится предупреждение об отмене измененных файлов.Это почти сработало, за исключением того, что оно также отменило добавление моего нового файла.

Поскольку ни один из них не работал для меня, я устал смотреть, но подумал, может быть, один из этих вариантовбудет работать для кого-то еще.

0 голосов
/ 13 марта 2015

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

Сначала получите рабочую версию:

tf history . /r /noprompt /stopafter:1 /version:W

Затем отмените все неизмененные файлы (при условии, что предыдущая команда вернула 123456 в качестве рабочей версии):

tfpt uu /changeset:123456 /recursive
...