Comment afficher les changements de P4 en rayon?

Un membre de notre équipe (situé dans une région différente) a modifié les modifications de P4 avec la liste de modifications 1234.

Maintenant, si je veux voir quels fichiers sont modifiés, quelles sont les modifications, comment puis-je le faire?

Quelle est la commande P4 que je devrais utiliser pour voir les modifications apscopes par notre membre de l’équipe?

p4 describe -S 1234 devrait à l’astuce, voir la documentation sur décrire .

Pour voir le contenu du fichier, vous devez décompresser les fichiers dans votre espace de travail (en supposant que vous ayez un espace de travail pour le même projet sur lequel travaille votre collègue).

Créez une nouvelle liste de p4 change (vide) avec p4 change (donne 2345 par exemple), puis utilisez p4 unshelve ( docu ) pour récupérer les fichiers modifiés dans votre espace de travail:

 p4 unshelve -s 1234 -c 2345 

Si vous ne voulez plus les fichiers modifiés dans votre espace de travail, vous pouvez les p4 revert -c 2345 .

À l’aide de l’interface graphique, accédez à En attente et supprimez tous les filtres, sauf par l’utilisateur, où vous placerez l’ID de l’autre développeur. De là, vous devriez pouvoir voir ses listes de modifications, y compris celles contenant des fichiers mis de côté. Cliquez avec le bouton droit sur l’icône Fichiers stockés et sélectionnez Unshelve. Vous devrez avoir un espace de travail actif qui inclut les fichiers que vous essayez de supprimer.

En utilisant le client d’interface utilisateur, appuyez sur Ctrl + G. La fenêtre de dialog apparaît. Sélectionnez Liste de modifications dans la liste déroulante et entrez le numéro de la liste de modifications.

Supposons que la liste de modifications 123456 soit la liste de modifications en question. Comme mentionné précédemment, la manière de lister les fichiers associés à cette liste de modifications est la commande p4 describe -s . Ainsi:

 $ p4 describe -s 123456 Change 123456 by john.doe@JohnsBranch on 2013/10/24 15:38:10 *pending* [Shelving my changes for Jane.] Fix memory corruption caused by uninitialized pointer. Affected files ... ... //depot/twigs/JohnsBranch/kernel/vm/pageutils.c#1 edit 

Une fois que vous connaissez le ou les fichiers en question, il existe plusieurs manières de les différencier sans espace de travail correspondant. La méthode n ° 1 consiste à utiliser p4 print :

 $ p4 print -q //depot/twigs/JohnsBranch/kernel/vm/pageutils.c#1 > /tmp/old $ p4 print -q //depot/twigs/JohnsBranch/kernel/vm/pageutils.c@=123456 > /tmp/new $ diff /tmp/old /tmp/new # Or use kdiff3, tkdiff, etc. ...  

L’autre méthode consiste à utiliser p4 diff2 :

 $ p4 diff2 //depot/twigs/JohnsBranch/kernel/vm/pageutils.c#1 //depot/twigs/JohnsBranch/kernel/vm/pageutils.c@=123456 ...  

Les deux méthodes peuvent être facilement incorporées dans le langage de script de votre choix.

La solution de jhwist est bonne si vous voulez voir les diffs des fichiers.

Si vous voulez voir uniquement les fichiers mis en p4 describe -sS 1234 , utilisez p4 describe -sS 1234 .

Les minuscules s restreignent la sortie des diffs de fichiers.

Si vous ne souhaitez voir que la liste des fichiers contenus dans une liste de modifications (que ce soit un abri, une CL en attente ou soumise), sans données supplémentaires, effectuez le résultat suivant:

 p4 describe -S 12345 | grep -oP '(?=//).*(?=#)' 

Dans P4V UI, sélectionnez

 Search - > Go To 

Ensuite, choisissez le type de liste de modifications (dans votre cas, “Liste des modifications en attente”), entrez le numéro de la liste des modifications et cliquez sur “OK”.

Si vous souhaitez voir le contenu réel des fichiers, vous pouvez utiliser:

 p4 print @= 

Le @ = signifie regarder le changement mis en attente, où @ signifie regarder le changement.