Compte tenu d'un numéro de changelist Perforce, je souhaite trouver le chemin local de tous les fichiers dans ce changement de changeliste en attente. P>
Utilisation d'une combinaison de Mais qu'en est-il des fichiers ouverts pour Compte tenu d'un changeliste de perforce en attente, comment trouver le chemin local pour les fichiers sur le point d'être ajouté à la perforce? p>
5 Réponses :
Pour émettre le chemin local de tous les ajouts en attente d'un Changeelist, vous pouvez utiliser:
p4 opened -c changelist | sed -n 's/\(.*\)#.*- add .*/\1/p' \ | p4 -x - where | awk '/^\// {print $3}'
Merci pour la solution. Il y a une chose à noter avec "p4 où" - si un fichier est mappé plusieurs fois dans la spécification du client, "P4 où" renvoie incorrectement le premier mappage, au lieu de la dernière cartographie qui est réellement terminée.
Cela ressemble à une erreur, p4 où code> est censé suivre la vue client. Si vous avez l'assistance, déposez un bogue avec perforce.
Le problème est-il à faire avec {impression $ 3} code>?
@TenPN, merci de attirer l'attention à cela. J'ai finalement essayé moi-même plusieurs majuscules. p4 où code> sortira plusieurs lignes dans ce cas et seule celle qui commence par '//' est la bonne. J'ai corrigé ma réponse pour cette affaire.
Basé sur la réponse de Peter G, traduit en PowerShell 2.0:
p4 opened -c changelist | Where-Object{$_ -match "add"} | ForEach-Object{p4 where ($_.split('#')[0])} | ForEach-Object{$_.split()[2]}
Vous pouvez bien sûr utiliser également
p4 -ztag opened -c changelist | grep clientFile | awk '{print $3}'
N'oubliez pas que Awk a la capacité de Grep, vous pouvez donc raccourcir cela pour: P4 -ZTAG Ouvert -C Changeelist | AWK '/ ClientFile / {IMPRESSION 3}' CODE>
p4 opened -s -c <changelist#> | awk -F " " '{print $1}' | p4 -x - where | awk -F " " '{print $3}'
De toutes les réponses postées, c'est le seul qui fonctionne réellement pour moi. Merci.
chemin local pour tous les fichiers dans un changeliste en attente sans outils externes ou spécifiques à la plate-forme: Supprimer "-f action = Ajouter" Si vous souhaitez obtenir des fichiers ouverts pour tous actions. p> p>