у меня такая ситуация
когда я пытаюсь запустить p4 edit <file>
, он говорит
- can't edit (already opened on this client)
Однако, когда я запускал p4 opened <file>
(с опцией -a
и -x
), он говорит
- - file(s) not opened on this client.
Теперь я остаюсь в этом подвешенном состоянии.
Как я могу это исправить? А что произошло на самом деле?
Во-первых, дважды проверьте, что все пути к файлам, которые вы удалили из своего вопроса, действительно совпадают друг с другом. Способ законный получить эту ошибку, если вы пытаетесь отредактировать файл депо, который уже открыт по другому пути местный на том же клиенте (потому что вы открыли его, а затем изменили представление клиента), и вы пытаетесь снова открыть тот же файл хранилища через «новый» локальный путь, пока он все еще имеет ожидающие изменения в предыдущем местоположении. Убедитесь, что вы используете p4 opened <file>
и p4 revert <file>
на точно такой же путь к депо, который был возвращен ошибкой can't edit
.
Как только это устранено:
Эта ошибка, возникающая, когда ее не должно быть, обычно является признаком несогласованности внутренней базы данных на сервере Perforce — файл хранилища записан в таблице db.locks как открытый на вашем клиенте, но соответствующий файл клиента не открыт. в рабочей таблице db.work.
Самый простой способ исправить это — для администратора запустить p4d -xf 925
в корне сервера; это команда исправления, которая ищет это точное несоответствие и должна исправить его, удалив несопоставленные записи db.locks.
p4d -xx
также исправит это (эта команда сканирует набор различных несоответствий и записывает файл исправления журнала для их исправления).