Vue d’ensemble
En génie logiciel, le squash permet aux équipes de condenser tous les commits d'une pull request en un seul commit lors de la fusion. Cela aide à garder un historique de commits propre, mais cela soulève des questions quant à la façon dont les métriques comme le Lead Time for Changes sont calculées lorsque les commits individuels ne sont plus visibles.
Ce que nous faisons dans Axify
Lorsque vous squashez une pull request, le commit de fusion résultant est conservé par l’outil de gestion du code source. Nous récupérons ensuite tous les commits depuis le dernier déploiement pour la branche déployée; ces commits incluent également le commit de fusion des pull requests, que nous associons à leur pull request correspondante. Une fois l’association faite, nous identifions le premier commit qui faisait partie de cette pull request. Le timestamp de ce commit est utilisé comme point de départ pour calculer le Lead Time for Changes.