2011-08-17 19 views
17

Tengo un problema donde los usuarios intentan iniciar sesión en su cuenta de Perforce usando la línea de comandos p4 (no el cliente visual p4v), pero parece comenzar en una cuenta predeterminada sin permisos. Cuando tratan de cerrar la sesión conCómo iniciar sesión como usuario en p4

p4 logout

los usuarios obtienen siguiente error

"El acceso para el usuario "foo" no ha sido habilitado por 'p4 proteger'".

¿Cuál es la forma estándar de cerrar la sesión e iniciar sesión a través de la línea de comando p4?

Respuesta

14

Para facilitar su uso, compruebe que ha establecido su nombre de usuario a través de la variable de entorno P4PASSWD en primer lugar, a continuación, utilizar p4 login y p4 logout También es posible usar p4 -u <username> login

+0

Esta fue mi primera conjetura. Aunque "p4 login " no funciona, p4 -u login "APARECE para funcionar. Sin embargo, si utilizo" p4 info "después, todavía está conectado como nombre de usuario" foo ". – coffee

+4

tiene que usar' p4 -u info' Esa fue la razón por la que dije para facilitar el uso establecer la variable de entorno P4USER – aflat

+0

De hecho, puede iniciar sesión como varios usuarios simultáneamente y emitir cada comando usando una identidad diferente, a través de -u P4USER, como dice George Otra técnica es configurar un archivo P4CONFIG. –

2

Para mí p4 -u username login trabajado, pero cuando traté de ejecutar otros comandos como p4 sync estaba usando el nombre de usuario local, así que usé p4 -u username sync, parece que funciona. Creo que cada comando p4 debe comenzar con p4 -u username

+1

¿Pero por qué es eso? ¿Es imposible iniciar sesión de forma persistente? – SRKX

0

Para solucionar

* "Acceso 'foo' usuario no ha sido posible gracias a 'proteger p4'."

Edita la tabla de permisos y dale al grupo que tienen acceso para leer algo.

Si está en Unix se puede iniciar la sesión como una cuenta de administrador y ejecute:

p4 protect 

Esto abrirá las "Protecciones:" mesa en un editor de texto.

Añadir este en la parte inferior:

read group foo-group * //foo/... 

(donde foo-grupo es un grupo que está en foo, y // foo/... es un depósito que desea acceder foo-grupo que ha leído a)

AHORA el usuario foo debería poder iniciar sesión.

8

El siguiente comando solucionó mis problemas. Definitivamente es el apartamento descrito anteriormente, pero estoy deletreando para aquellos que se confunden con los comentarios e información adicionales.

Para Windows y Mac OS usuario X

p4 set P4USER=<username>

Para usuarios de Linux que no existe un registro para almacenar los valores de las variables de entorno

export P4USER=<username>

a continuación, puede utilizar

p4 info

para verificar que se está utilizando el nuevo nombre de usuario.

Cuestiones relacionadas