2010-07-27 4 views
0

Quelqu'un sait comment obtenir l'utilisateur de la liste de changements d'une liste de changements donnée (disons # 12345)?
p4 décrivent -s # 12345
donne une sortie comme ceci:
P4, Comment trouver l'utilisateur changelist d'une liste changeliste donnée?

Changer # 12345 par l'utilisateur @ user_clientspec sur 2010/07/26 10:26:29
fichiers affectés ...

.......

Y at-il une commande pour donner seulement le nom d'utilisateur. Pas avec les spécifications du client car il montre l'utilisateur @ user_clientspec.

Appréciez votre aide.

Merci, Tom

Répondre

0

Je pense que vous aurez juste pour analyser la sortie.

Ce bit disgracieuse de Powershell vous obtiendrez l'utilisateur:

p4 describe -s 12345 | select-object -first 1 | %{ $_.Split()[3].Split('@')[0] } 
4
p4 change -o 12345 | grep ^User: 

Ou, si vous êtes sur une version assez récente de la ligne de commande 'p4':

p4 -F "%User%" -ztag change -o 12345 
+0

Nice. Cet extrait PowerShell analysera le nom d'utilisateur réel, plutôt que la ligne: 'p4 change -o 12345 | foreach {if ($ _ -match "^ Utilisateur: \ w * (. *)") {$ correspond à [1] .Trim()}} ' – tenpn

0

pour obtenir uniquement l'utilisateur, et non d'autres chaînes "User:", espaces de fin, etc., essayez:

bash -c "p4 change -o 12345 | grep -oP '(?<=^User:).*' | xargs" 
Questions connexes