Propositions de fusion

Demandez la révision des modifications d’une branche avant leur intégration dans une autre branche.

Vue d’ensemble

Une proposition de fusion enregistre une demande visant à fusionner les modifications d’une branche dans une autre et permet à un membre de l’équipe d’examiner le diff avant la fusion. Toute personne disposant d’un accès en modification à l’agent peut ouvrir une proposition, même vers une branche qu’elle ne peut pas fusionner elle-même. La fusion de la proposition nécessite toujours un accès en écriture à la branche cible. Une proposition permet donc d’intégrer une modification dans une branche protégée sans accorder à chaque contributeur le droit de la fusionner.

Les propositions de fusion ajoutent une étape de révision facultative à la fusion directe de branches . Fusionnez directement lorsque vous disposez d’un accès en écriture à la branche cible et qu’un second avis n’est pas nécessaire. Ouvrez une proposition si vous souhaitez d’abord la faire examiner, ou si la branche cible est protégée et que vous n’y avez pas accès en écriture.

Disponibilité

Les propositions de fusion sont en alpha. Lorsque plusieurs branches d’un agent sont en cours simultanément, il devient difficile de suivre celles qui sont prêtes et peuvent être fusionnées sans risque. Les propositions de fusion offrent à l’équipe un espace unique pour examiner et discuter des modifications d’une branche, comparer les taux de réussite des tests entre les branches et consulter les conversations les plus récentes de la branche.

L’alpha constitue une première étape vers un workflow de type CI/CD pour les agents, similaire aux pull requests sur GitHub. Les ajouts prévus dans les prochaines semaines incluent :

  • Des tests obligatoires qui doivent réussir avant qu’une proposition puisse être fusionnée.
  • La demande d’approbations à des réviseurs spécifiques.
  • La configuration de responsables pour différentes parties d’un agent.

Cycle de vie d’une proposition

Chaque proposition possède l’un des statuts suivants :

StatutSignification
OuverteEn attente d’examen ou de fusion.
FusionnéeLes modifications de la branche source ont été fusionnées dans la branche cible.
FerméeRetirée par l’auteur, rejetée par une autre personne ou fermée automatiquement, car la branche source a été archivée.

Lorsqu’une proposition est ouverte, les réviseurs attribuent l’un des verdicts suivants. Le dernier verdict d’un réviseur remplace tout verdict antérieur de ce même réviseur :

État de révisionSignification
ApprouvéeLe réviseur est satisfait des modifications.
Modifications demandéesLe réviseur souhaite qu’un point soit traité avant la fusion.

Ouvrir une proposition

Ouvrez une proposition depuis la branche dont vous souhaitez faire examiner les modifications :

Dans l’onglet Branches de l’agent, ouvrez le menu d’options de la branche source et sélectionnez **Ouvrir une proposition de fusion **.

Option Ouvrir une proposition de fusion dans le menu d’options d’une branche

Donnez à la proposition un titre, une description facultative et choisissez une branche cible parmi les autres branches non archivées de l’agent. L’ouverture d’une proposition ne modifie aucune des deux branches, elle enregistre uniquement la demande.

Une paire de branches source et cible ne peut avoir qu’une seule proposition ouverte à la fois. Fermez la proposition existante avant d’en ouvrir une autre entre les mêmes deux branches.

Examiner une proposition

La page d’une proposition comporte les onglets suivants :

La description, l’historique des révisions et un formulaire pour laisser une révision.

Onglet Vue d’ensemble d’une proposition de fusion

Toute personne disposant d’un accès en modification à l’agent, à l’exception de l’auteur de la proposition, peut laisser une révision avec un commentaire facultatif. Les commentaires prennent en charge Markdown.

Fusionner une proposition

Fusionner une proposition effectue la même fusion de branche qu’une fusion directe, y compris la résolution des conflits et l’option d’archiver ensuite la branche source. Avant de pouvoir être fusionnée, une proposition doit répondre aux exigences suivantes :

  • L’utilisateur effectuant la fusion dispose d’un accès en écriture aux branches source et cible. Pour une branche protégée, cela signifie être administrateur du Workspace.
  • Le dernier verdict d’aucun réviseur n’est « modifications demandées ». Un réviseur ayant demandé des modifications doit approuver la proposition avant sa fusion.
  • La proposition a reçu au moins une approbation d’une personne autre que son auteur. Les administrateurs du Workspace peuvent fusionner sans cette approbation.

La fusion d’une proposition ferme automatiquement toute autre proposition ouverte pour la même branche source, car ses modifications ont désormais été intégrées.

Fermer une proposition

Une proposition peut être fermée sans fusion à tout moment tant qu’elle est ouverte. L’auteur et les réviseurs peuvent modifier son titre et sa description jusqu’à sa fermeture.

  • Lorsque l’auteur ferme sa propre proposition, elle est enregistrée comme retirée.
  • Lorsqu’une autre personne la ferme, elle est enregistrée comme rejetée.
  • L’archivage de la branche source ferme automatiquement toute proposition ouverte depuis ou vers celle-ci, enregistrée comme branch_archived.

Propositions de fusion et Architect

Architect dispose d’un accès en lecture aux branches d’un agent lorsque vous l’interrogez sur les branches, les versions et les fusions. Il peut donc vous aider à comprendre le diff d’une proposition ou à résumer les révisions ouvertes dans une conversation.

Étapes suivantes