Perforce не может редактировать файл, так как он говорит, что он уже открыт, однако в противном случае отчет «p4 открыл» - PullRequest
0 голосов
/ 01 февраля 2019

У меня такая ситуация

, когда я пытаюсь запустить p4 edit <file>, он говорит:

- can't edit (already opened on this client)

Однако, когда я бегу p4 opened <file>-a и-x вариант), там написано

-  - file(s) not opened on this client.

Я сейчас нахожусь в этом неопределенном состоянии.

  • Я не могу проверить файл,
  • я не могу восстановить файл,
  • , и я не могу проверить файл.

Как я могу это исправить?А что случилось на самом деле?

1 Ответ

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

Первый - дважды проверьте, что все пути к файлам, которые вы удалили из вашего вопроса, действительно совпадают друг с другом. законный способ получить эту ошибку, если вы пытаетесь отредактировать файл depot , который уже открыт по другому пути local на том же клиенте (потому чтоВы открыли его, а затем изменили представление клиента) и пытаетесь открыть тот же файл депо по «новому» локальному пути, пока он все еще ожидает изменений в предыдущем местоположении.Убедитесь, что вы используете p4 opened <file> и p4 revert <file> на том же точном пути депо , который был возвращен ошибкой can't edit.

После устранения:

Эта ошибка, возникающая, когда она не должна, обычно является признаком несогласованности внутренней базы данных на сервере Perforce - файл депо записывается в таблицу db.locks как открытый на вашем клиенте, но соответствующий файл клиента не 't в таблице db.working.

Самый простой способ исправить это для администратора - запустить p4d -xf 925 в корневом каталоге сервера;это команда исправления, которая ищет это точное несоответствие и должна исправить его, удалив несопоставимые записи db.locks.

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

...