Проверка нескольких файлов с помощью tf.exe в одном наборе изменений
На одной из наших сборок мы запускаем некоторый автоматизированный процесс, который автоматически проверяет и регистрирует некоторые файлы.
Все это работает довольно хорошо, но в настоящее время мы запускаем команду checkin, которая выглядит следующим образом
tf.exe checkin /force /comment:"foo" /noprompt /bypass /override:"bar"
Все файлы с Pending
статус будет проверен.
Я хотел бы сделать этот сценарий более конкретным и проверять только те файлы (всего 2), которые мы на самом деле изменяем во время сборки, поэтому мы точно знаем, что никакие файлы не будут отмечены "случайно".
Я уже видел, что мы можем указать одно имя файла с checkin
команда, но при этом мы получим 2 разных набора изменений в TFS вместо 1. Мы действительно хотели бы иметь 1 набор изменений, содержащий оба измененных файла, поскольку изменения принадлежат друг другу.
Любые идеи о том, как подойти к этому?
Незначительное добавление / Краткосрочное решение
На данный момент я решил нашу "проблему", указав папку, в которой находятся наши измененные файлы, что-то вроде этого
tf.exe checkin "/my/folder/location/" /recurse /force /comment:"foo" /noprompt /bypass /override:"bar"
Обратите внимание на расположение папки и /recurse
Параметр добавлен.
2 ответа
Вы просто разделяете файлы пробелами:
tf.exe checkin file1.ext file2.ext /force /Comment:"foo" /noprompt /bypass /override:"bar"
Документация не ясна по этому вопросу, но это может быть общая спецификация спецификаций предметов, что это может быть несколько предметов.
Смотрите аналогичный вопрос о проверке: есть ли способ извлечь несколько файлов из разных папок в TFS за одну операцию
Как уже упоминалось, у вас могут возникнуть проблемы с тем, что командная строка длиннее, чем поддерживает система, и в этом случае вам может понадобиться поискать другие решения.
cmd.exe
имеет ограничение на длину команды. Использование API управления версиями или просто 'tf checkin /i' (без аргументов), вероятно, будет лучшим выбором, чем передача большого количества длинных имен файлов.
Это нормально, если файл автоматически извлекается из-за изменения, и если в конечном итоге содержимое файла возвращается в исходное состояние. В этот момент вы увидите сообщение об идентичном содержимом при сравнении. Вы также можете использовать tfpt uu /noget /r *
Команда игнорировать файлы, которые идентичны оригиналам. Для этого вам необходимо установить TFS Power Tools. Примечание: TFS Power Tool 2017 не существует.
Для более подробной информации, пожалуйста, обратитесь ниже две ссылки: