Ошибка заблокированного клиента Perforce

Я новичок в Perforce, и все идет не очень хорошо. Но в настоящее время я полностью застрял, так как все, что я могу сказать, это:

$ p4 open a_code_file.cpp
Locked client 'my_hostname' can only be used by owner 'perforce'.

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


Редактировать: это только кажется, что это какие-то файлы. Если я:

$ cd some_other_directory_in_the_repo
$ p4 open a_file

... оно работает. Так что это только некоторые вещи...


person Thanatos    schedule 08.06.2010    source источник


Ответы (2)


Ошибка «заблокированный клиент» предполагает, что p4 пытается использовать клиентское рабочее пространство, названное в честь вашего имени хоста, которое поневоле принадлежит пользователю. Если Perforce не может найти допустимое имя клиента ни в реестре (в Windows), ни в переменных среды, ни в файле среды, по умолчанию используется рабочая область клиента, названная в честь вашего имени хоста.

Похоже, что Perforce не может найти действительное клиентское рабочее пространство для вашего «сломанного» каталога и находит его для вашего «рабочего» каталога.

Поскольку у вас есть один каталог, который работает, и один каталог, который не работает, вы можете попробовать:

$ p4 set

из обоих каталогов и сравнить результаты? Если Perforce сможет найти действительного клиента, вы увидите что-то вроде:

P4CLIENT=XXXX (config)

(«(config)» означает, что Perforce получает эту переменную конфигурации из файла конфигурации. Обратитесь к p4 help set за дополнительной информацией о различных способах установки переменных.)

Найдите также строку вида:

P4CONFIG=.p4env

это то, что Perforce будет использовать для поиска конфигурации вашего рабочего пространства. Если вы используете файл с именем .p4rc, это значение должно быть установлено в P4CONFIG.

person Commodore Jaeger    schedule 08.06.2010
comment
У меня, по-видимому, был пустой .p4rc в этом каталоге - я понятия не имею, как он туда попал. Я бы никогда не смог этого сделать только из-за ошибки, которую мне выдавал Perforce. p4 set очень помог, спасибо! - person Thanatos; 09.06.2010

Я столкнулся с этим, когда отвлекся и забыл экспортировать мою переменную P4CLIENT, то есть:

P4CLIENT=XXXXX

Вместо:

export P4CLIENT=XXXXX
person BareMetalCoder    schedule 16.12.2014