Pour une construction sérieuse (qui est en cours de préparation pour les tests), spécifiez explicitement le numéro d'étiquette ou de liste de modifications souhaité, synchronisez-la avec l'étiquette et insérez-la dans les artefacts de construction.
Si aucune liste de p4 counter change
modifications (ou étiquette) n'est fournie, utilisez pour obtenir le numéro de modification actuel et enregistrez-le. Mais vous devez toujours tout synchroniser à l'aide de ce numéro de modification.
Je ne pense pas que vous puissiez réaliser exactement ce que vous voulez, car en général, un espace de travail entier n'est pas synchronisé avec un numéro de liste de modifications particulier. On peut explicitement synchroniser certains fichiers avec des révisions plus anciennes, puis un seul numéro de liste de modifications n'a pas de sens. C'est pourquoi une nouvelle version sync
est nécessaire pour garantir qu'un seul numéro de liste de modifications représente avec précision la version du code.
Concernant les commentaires: Oui, ma réponse est destinée à être utilisée par les gestionnaires de configuration préparant une build à donner au QA. Nos développeurs ne se synchronisent normalement pas dans le cadre d'une construction; ils font une compilation avant de soumettre - afin de s'assurer que leurs modifications n'interrompent pas la compilation ou les tests. Dans ce contexte, nous ne prenons pas la peine d'intégrer une étiquette de référentiel.
Avec votre approche, vous supposez que tout votre espace de travail a été synchronisé à la tête au moment de votre dernière soumission de liste de modifications, et que cette liste de modifications comprenait tous vos fichiers ouverts. Il est trop facile de se tromper dans ces hypothèses, difficile à détecter et horriblement coûteux en termes de temps perdu. D'un autre côté, résoudre le problème est facile, sans inconvénient. Et comme un numéro de liste de modifications peut être spécifié explicitement, peu importe la révision dont vous avez besoin ou la rapidité avec laquelle la base de code change.
p4 changes | head -1
semble plus facile que la plupart de ces solutions.