web-dev-qa-db-fra.com

Comment se connecter en tant qu'utilisateur dans p4

J'ai un problème où les utilisateurs essaient de se connecter à leur compte Perforce à l'aide de la ligne de commande p4 (pas du client visuel p4v), mais il semble que le compte par défaut démarre sans autorisations. Quand ils essaient de se déconnecter avec 

p4 logout

les utilisateurs reçoivent l'erreur suivante 

"L'accès pour l'utilisateur" truc "n'a pas été activé par" p4 protéger "".

Quelle est la méthode standard de déconnexion et de connexion via la ligne de commande p4?

18
coffee

Pour plus de facilité, assurez-vous d’abord de définir votre nom d’utilisateur via la variable d’environnement P4USER, puis utilisez p4 login et p4 logout. Vous pouvez également utiliser p4 -u <username> login.

16
aflat

La commande suivante a résolu mes problèmes. C’est bien ce qu’un appartement décrit ci-dessus, mais je l’épelle pour ceux qui se perdent dans les commentaires et informations supplémentaires.

Pour utilisateur Windows et Mac OS X

p4 set P4USER=<username>

Pour les utilisateurs de Linux car il n'y a pas de registre pour stocker les valeurs des variables d'environnement

export P4USER=<username>

vous pouvez alors utiliser

p4 info

pour vérifier que le nouveau nom d'utilisateur est utilisé.

11
Helmut Granda

Pour moi, p4 -u username login fonctionnait, mais lorsque j'ai essayé d'exécuter d'autres commandes telles que p4 sync, il utilisait le nom d'utilisateur local. J'ai donc utilisé p4 -u username sync, il semble fonctionner. Je pense que chaque commande p4 devrait commencer par p4 -u username

2
user1527651

Pour réparer

* "L'accès pour l'utilisateur 'foo' n'a pas été activé par 'p4 protect'."

Modifiez le tableau des autorisations et donnez au groupe auquel ils ont accès accès en lecture.

Si vous êtes sous Unix, vous pouvez vous connecter en tant que compte administrateur et exécuter:

p4 protect

Cela ouvrira la table "Protections:" dans un éditeur de texte.

Ajoutez ceci en bas:

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

(où foo-group est un groupe dans lequel foo se trouve et // foo/... est un dépôt auquel vous souhaitez que foo-group ait un accès en lecture)

MAINTENANT, l'utilisateur foo devrait pouvoir se connecter.

0
JohnGH