Ошибка регистрации сервера TFS - не удалось найти файл - Связанный с сервером и командной строки - PullRequest
0 голосов
/ 08 февраля 2019

Это относится к вопросу,

Ошибка регистрации TFS - не удалось найти файл

"При проверке в моем проекте я получаю сообщение об ошибке:

Could not find file 'C\blah blah blah'.

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

Я попытался удалить свое соединение TFS и рабочие пространства.

Решение было:

Это произойдет, когда в TFS будут подготовлены некоторые изменения, которых больше нет в файловой системе. Например, если вы добавляете некоторые файлы в Visual Studio (которая добавляет их в список изменений), удалите их напрямую.из файловой системы, затем попытайтесь проверить изменения, он будет жаловаться, что не может найти файл (ы).

Чтобы удалить эти изменения из списка, вы можете открыть Source Control Explorer ( Просмотр > Другие Windows > Source Control Explorer ) и либо Удалить несуществующих файлов, либо щелкнуть правой кнопкой мыши на проблемных файлах и ОтменитьОжидающие изменения .

You cа также отмените эти конкретные изменения на панели «Ожидающие изменения» в Team Explorer.

Контрольный вопрос:

Итак, мой вопрос, как мне провести эквивалент этогона сервере TFS?Это постоянно происходит несколько раз в нашей команде.Это работает на рабочем столе человека, но какова эквивалентная командная строка на сервере TFS, и могу ли я включить это в свои шаги сборки?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

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

tf vc undo /workspace:workspacename;owner $/project/path/to/file

Вы можете получить эту информацию, позвонив по телефону:

tf vc status $/project/path/to/file /user:*

Это позволяет удалить ожидающие изменения с сервера, хотя это не приведет к возврату файлов на рабочей станции соответствующего разработчика.

Обе команды предлагают опцию /recursive для отмены нескольких файлов по определенному пути одновременно.

Если вы используете Visual Studio 2015 или более раннюю версию, то вы можете использовать TFS Power Tools, чтобы добавить параметр «Поиск по состоянию» в Visual Studio Source Control Explorer .К сожалению, это не вошло в Visual Studio 2017, и в Visual Studio 2017 нет TFS Power Tools.

TFS Sidekicks предлагает экран Status Sidekick , который позволяет запрашивать все файлыв настоящее время проверено на редактирование в серверных рабочих пространствах и позволяет вам отменить их централизованно.

enter image description here

Предотвращение проблемы в целом

Чтобы предотвратитьВ общем, у вас есть несколько вариантов.Вы можете переключиться на Локальные рабочие пространства вместо серверных рабочих областей.Они автоматически обнаруживают локальные изменения и не регистрируют изменения на самом сервере TFS. Подробнее о локальных рабочих пространствах .

Вы можете выполнять удаление из командной строки tf vc вместо использования других инструментов для удаления файлов и папок, например:

tf vc delete $/project/path/to/file

Команда delete также имеет опцию /recursive.Использование этой команды не только обновит вашу локальную папку, но и обновит рабочее пространство сервера.

0 голосов
/ 22 февраля 2019

Вы удаляете файлы из TFS неверным способом.сервер TFS не знает вашу локальную файловую систему; если вы удалили файл из локальной папки, файл все еще существует в TFS.

Это является причиной проблем и ошибок.если разработчик хочет удалить файл, он удалил файл из локальной папки, а затем получил ошибку Could not find file и для ее устранения он выполняет «Отмена ожидающих изменений», поэтому файл все еще существует в TFS, и когда другой разработчик видит файлв своей системе он также удалил его локально, и он также получит ошибку при регистрации.

Итак, если разработчик хочет удалить файл из TFS, ему нужно щелкнуть файл правой кнопкой мыши и "Удалить "и" регистрация ".если он уже удалил его локально, он может выполнить «удаление несуществующих файлов» и «регистрацию».теперь каждый разработчик при выполнении команды «Получить последнюю версию» не получит файл.

Вы также можете удалить файлы с помощью командной строки tf.exe в команде delete:

tf delete [/lock:(none|checkin|checkout)] [/recursive] [/login:username,[password]] itemspec

Во время сборки вы можете добавить командную строку / задачу Power Shell и запустить tf.exe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...