Pull Request Gitea

De EjnTricks
Révision de 17 avril 2018 à 13:48 par Etienne (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Cet article présente la manipulation des pull requests pour un dépôt sous Gitea.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Viewer icon.png Consultation

Les pull requests sont accessibles depuis l'onglet Pull Requests sur le dépôt consulté. Le nombre de pull requests disponibles est affiché suite au libellé de l'onglet.


Le bouton Pull Requests dans le bandeau supérieur de l'application permet de visualiser l'ensemble des pull requests de l'instance.

Par défaut, l'option Open est sélectionnée pour ne présenter que celles qui sont en attente de validation et dans l'organisation sélectionnée à partir de la liste de choix sur la gauche.

L'option Closed permet de visualiser toutes celles qui ont été validées.


A noter qu'une facette est disponible sur le bandeau latéral de gauche, pour filtrer l'affichage en fonction d'un dépôt de l'organisation sélectionnée.


Warning-icon.png Configuration-icon.png Paramétrages

Attention, il est nécessaire de configurer les options pour les pull requests au niveau des paramètres du dépôt. Si aucune option n'est mise en place, un message d'erreur sera alors affiché lors de la création, avec le message This pull request can not be merged as no merge options are enabled.


Il faut afficher les paramètres du dépôt et se rendre dans la zone Pull Requests de la section Advanced Settings. L'option Enable pull requests to accept public contributions est activée, entraînant la mise à disposition d'options supplémentaires. Dans le cadre de cet article, seule l'option Allow to squash commits before merging est activée.


Add-icon.png Création

Depuis l'onglet Pull Request, il est possible de demandé la création d'une nouvelle à partir du bouton New Pull Request.


Un formulaire est alors affiché pour spécifier la branche faisait l'objet de la pull request, ainsi que la branche cible.


A noter, la première liste désigne la branche cible, qui est donc a branche par défaut, alors que la seconde est utilisée pour spécifier la branche à partir de laquelle les modifications sont prises.

Il faut alors choisir les branches et spécifier le titre de la pull request. Dans la copie d'écran suivante, une demande est réalisée pour intégrer les modifications de la branche Ssh-Apache dans la branche develop avec pour titre Store ssh and Apache configuration. Une description peut également être saisie pour décrire le contenu de la demande.


Il est également possible de charger des pièces jointes à la pull request, en glissant le(s) fichier(s) ou en cliquant sur la zone en dessous de la description.


En dessous du formulaire, deux listing sont présentés. Le premier reprend l'ensemble des commits avec un lien sur la description de celui-ci. La seconde liste permet de visualiser l'ensemble des fichiers impactés, avec les modifications entre les deux branches.


Une fois complété, il suffit de cliquer sur le bouton Create Pull Request.


Un message de succès est alors affiché si la création est validée.


Examples-icon.png La création d'une pull request peut également s'effectuer directement depuis la consultation du code de la branche, à l'aide du bouton à la gauche de la liste de choix des branches.

Le principal avantage est que la branche source est automatiquement sélectionnée, et il ne peut y avoir de confusion dans l'ordre d'affichage des listes de sélection.


Merge Git.png Merge

Une fois la pull request créée, et potentiellement affecté, il suffit de l'ouvrir depuis l'onglet Pull Requests ou depuis la page spécifique. Si aucun conflit n'est constaté entre les branches source et cible, le message This pull request can be merged automatically.


Les options de merge dépendent de la configuration du dépôt. Dans le cadre de cet article, l'option Squash and merge est utilisée afin de n'avoir qu'un seul commi suite à l'intégration de la pull request. Une zone définition du merge est alors présenté où il faut spécifier un titre, rempli par défaut avec le titre de la pull request, et une description optionnelle.


Il suffit de cliquer sur le bouton Quash and merge pour terminer l'intégration de la pull request, entraînant l'affichage du message This pull request has been merged successfully.


Delete-file-icon.png Suppression branche

Une pull request est généralement réalisée depuis une branche "temporaire", utilisée uniquement pour développer les modifications. Ces branches n'ont pas lieu de persister dans le temps. C'est pourquoi le bouton Delete Branch XXX est disponible suite à la validation de la pull request. Il faut cliquer dessus et un message de confirmation est alors présenté.


En cas de validation, celle-ci est supprimée et l'étape USER deleted branch XXX est ajoutée dans l'onglet Conversation.