Perforce Revert Показывает "файл (ы), не открытые на этом клиенте" - PullRequest
16 голосов
/ 19 сентября 2011

Я пытаюсь открыть существующее приложение Perforce.Я сделал некоторые локальные изменения, такие как удаление файлов, которые я хочу отменить (то есть я хочу, чтобы моя локальная копия еще раз точно соответствовала хранилищу - удаляла добавленные файлы, восстанавливала удаленные файлы и отменяла изменения).

Когда я пытаюсь вернуться с помощью графического клиента p4v, я вижу эту ошибку:

 file(s) not opened on this client

Что я делаю не так?

Мне удалось вернуть все измененные файлы, ноне добавленные / удаленные файлы.

Редактировать: Я сделал следующее:

  • Подключиться к серверу Perforce с помощью p4v
  • Отобразить картукаталог моей локальной файловой системы (скажем, C:\Perforce)
  • Получить последнюю версию репозитория
  • Перейти к C: \ Perforce в проводнике Windows
  • Удалить некоторые файлыи папки
  • Добавление некоторых файлов и папок

Я хотел бы вернуться в «нетронутое» состояние, копию того, что именно на сервере, когда я получил последнюю версиюхранилище в первый раз.

Ответы [ 3 ]

23 голосов
/ 20 сентября 2011

Судя по отредактированному описанию, вы добавляли и удаляли файлы непосредственно в файловой системе, а не через перформанс.Поэтому Perforce ничего не знает об этих изменениях, поэтому возвращать нечего.Обычно, когда вы хотите добавить файл, вы используете «p4 add» (или эквивалентную операцию p4v), а при удалении вы должны использовать «p4 delete» (или снова эквивалентную операцию p4v).

На самом деле, лучший вариант, чтобы вернуться в первоначальное состояние, это обнулить локальную копию кода в c: \ perforce (в проводнике Windows), перейти к p4v, щелкнуть правой кнопкой мыши область, которую вы хотите синхронизировать, и выбрать «Получить ревизию».... »и в следующем диалоговом окне убедитесь, что флажок« принудительная операция »установлен. Это покажет Perforce, что вам нужна новая копия всего, независимо от того, была ли она синхронизирована или нет.

Вы также можете запустить «согласовать автономную работу» в p4v. Щелкните правой кнопкой мыши по области депо и выберите эту опцию. Она просканирует локальную структуру папок и предоставит вам отчет о том, какие файлы были добавлены, но не существуют в процессе, чтофайлы были удалены, и какие файлы были изменены. В этом диалоговом окне вы можете щелкнуть правой кнопкой мыши локальные файлы, которые не существуют в процессе, и удалить их,или вы можете добавить их «p4».Вы также можете синхронизировать удаленные файлы.

HTH.

3 голосов
/ 20 ноября 2015

Просто дополнительно, чтобы не указывать на другую причину этого. Если имя файла содержит необычный символ, который не может быть переведен правильно, имя на клиенте никогда не будет совпадать с именем на сервере. Решение в этом случае состоит в том, чтобы найти этот символ в имени файла (это будет знак вопроса в Linux) и использовать подстановочный знак, чтобы помочь идентифицировать файл на сервере, чтобы он мог удалить его и т. Д. (P4 удаление файла является путь)

0 голосов
/ 25 июня 2018

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

Быстрое исправление в командной строке:

p4 login               # make sure you've logged in
p4 edit <filename>     # let p4 know you've edited the file
p4 revert <filename>   # revert to "pristine" state
...