2009-07-27 21 views
10

P4V m'a trompé en essayant de résoudre un grand nombre de fichiers dans le cadre d'une intégration. Je veux être en mesure de le faire dans la ligne de commande.Résolution automatique Perforce à partir de la ligne de commande?

est ici les étapes P4V:

  1. clic droit sur le CL.
  2. Choisissez "Résoudre les fichiers ..." Une boîte de dialogue apparaît.
  3. Choisissez "Fusionner le vôtre et le leur si aucun conflit n'existe".
  4. Cliquez sur Auto.

Quelqu'un peut-il traduire cela en une commande de ligne de commande p4 avec les arguments corrects?

Répondre

9

Vous pouvez utiliser p4 resolve -am [file ...] qui ignorera les fichiers en conflit.

Si vous spécifiez un fichier, vous ne travaillerez que sur ce fichier. Si vous spécifiez ..., vous travaillerez sur des fichiers situés sous votre répertoire de travail. Si vous ne spécifiez pas de fichier, il fonctionnera sur tous les fichiers de votre espace de travail.

+0

Il n'est pas possible de spécifier un CL en attente pour les fichiers avec la commande de résolution? – Fostah

+4

Non, cela ne semble pas être le cas. Une option consiste à l'envelopper dans une boucle 'for' dans un lot, en prenant la liste des modifications de la ligne de commande et en itérant sur les fichiers retournés par' p4 describe changelist # ', en les passant à p4 résoudre -am' – akf

+0

utilisez plutôt 'p4 resolve -as'. Comme il se résout seulement si c'est sûr de le faire. L'option '-am' fusionne aussi, ce qui peut causer des erreurs de fusion, je préfère le faire manuellement dans p4merge. – Calmarius

7

Je n'ai pas assez de réputation pour ajouter un commentaire à la réponse acceptée, donc je vais ajouter des informations dans une nouvelle réponse.

Avec Perforce 2013.2, vous pouvez en effet fournir un numéro de liste de modifications à résoudre pour limiter l'opération aux fichiers de cette liste de modifications.

p4 resolve -c changelist#