J'ai une liste de modifications spécifique et, à partir de la ligne de commande, je souhaite répertorier tous les fichiers qui faisaient partie de cette liste de modifications. Comment puis-je faire cela?
C'est la commande décrire . Pour décrire une liste de modifications particulière, vous voulez p4 describe <changelist number>
.
Mise à jour:
Si vous ne souhaitez que les noms de fichiers, vous pouvez utiliser la commande files avec l'option -F pour remplacer le format de sortie: p4 -Ztag -F "%depotFile%" files @=<changelist>
Voir http://www.perforce.com/blog/130826/fun-formatting pour plus d'informations sur l'option -F.
ser114245 a donné la meilleure réponse, mais uniquement dans un commentaire. J'ajoute comme réponse pour lui donner plus de visibilité, et pour s'améliorer un peu.
Pour le changement 12345, c'est le plus proche que vous pouvez obtenir avec juste un p4
commande
p4 files @=12345
qui ne donne que cette sortie
//depot/file1#3 - delete change 3 (text)
//depot/file2#3 - edit change 3 (text)
//depot/file5#1 - add change 3 (text)
Si vous souhaitez supprimer les informations superflues sur chaque fichier, vous devrez traiter cette sortie via plusieurs outils sur la ligne de commande. En supposant un environnement unixy standard, vous pouvez utiliser une seule commande sed
comme ceci
p4 files @=12345 | sed s/#.*//
pour obtenir le résultat souhaité
//depot/file1
//depot/file2
//depot/file5
--- réponse actuellement acceptée par Mike
p4 describe 12345
ce qui donne tous ces détails supplémentaires dans la sortie
Change 12345 by day@client1 on 2013/06/21 00:25:28
Some example changes
Affected files ...
... //depot/file1#3 delete
... //depot/file2#3 edit
... //depot/file5#1 add
Differences ...
==== //depot/file2#3 (text) ====
1c1
< This is file 2
---
> This is file 2 - edited
Cela a été amélioré par réponse de Doug qui utilise grep et awk pour filtrer le bruit et laisser les fichiers modifiés, mais la commande est assez longue
p4 describe -s 12345 | grep '^\.\.\.' | awk '{print $2}'
Je pense que la solution donnée ici est plus nette.
La réponse de Mike O'Connor m'a également aidé.
En ce qui concerne le simple fait de modifier une liste de fichiers, ne pourrait-il pas être aussi simple que cela?
p4 describe -s {change number} | grep '^\.\.\.' | awk '{print $2}'
c'est ce que je vais utiliser.
Si votre liste de modifications est toujours en attente, vous pouvez exécuter p4 opened
ou p4 opened -c <changeListNumber>
pour un numéro de liste de modifications spécifique (non soumis).
De la documentation officielle : "Liste des fichiers ouverts dans les listes de modifications en attente."
p4 change -o
Il a la liste des fichiers à la fin.