· Depuis Soreno 1.0.0

Pull requests et merge requests, sans quitter Soreno

Soreno 1.0.0 affiche les pull requests GitHub et les merge requests GitLab dans le panneau Git : la liste, les checks, le diff calculé en local, puis le merge, à côté de vos agents.

Un agent a fini sa branche, la CI tourne, un collègue a relu. Jusqu’ici, la suite se passait dans le navigateur. Depuis Soreno 1.0.0, le panneau Git a une vue Pull requests, ou Merge requests pour GitLab : vous suivez et mergez vos demandes à côté de l’agent qui les a écrites.

Toutes les demandes du dépôt, la vôtre en tête

La vue liste les demandes du dépôt, filtrées en Ouvertes, Les miennes, Revue demandée ou Fermées / mergées, avec une recherche. Chaque ligne montre ses branches, l’état de la CI, la revue et les conflits. Celle de votre branche courante passe en tête, marquée Branche courante.

Le panneau Git de Soreno agrandi sur la vue Pull requests d’atelier-web. À droite, cinq pull requests ouvertes, dont la #134, Faire défiler les onglets de session, en tête et marquée Branche courante. À gauche, son détail : approuvée par hugo-petit, label ux, et l’onglet Checks avec trois checks réussis et e2e (webkit) en échec, à côté du bouton Merger.
La pull request de la branche courante, en tête, et ses checks.

Le détail réunit la description en Markdown, les checks, les commits et les fichiers. Un check en échec se voit tout de suite, et un clic sur son nom l’ouvre dans le navigateur.

Le diff, calculé en local

Dans l’onglet Fichiers, le diff ne vient ni de GitHub ni de GitLab : Soreno récupère avec Git les commits de la demande qui manquent au dépôt, sur votre machine ou sur le serveur SSH, et compare depuis le point où la branche est partie. Vos branches et vos fichiers ne bougent pas. Le diff s’affiche comme celui de vos propres changements. Agrandissez le panneau, ou appuyez sur Ctrl+Maj+M (Cmd+Maj+M sur macOS) : le diff, la liste des fichiers modifiés et les pull requests s’affichent côte à côte.

Le panneau Git agrandi sur l’onglet Fichiers de la pull request #134 : le diff de SessionTabs.tsx, la liste des quatre fichiers modifiés avec leurs lignes ajoutées et retirées, et les pull requests à droite.
Trois colonnes : le diff, les fichiers, les demandes.

Merger en connaissance de cause

Merger ne propose que les méthodes que le dépôt autorise : commit de merge, squash ou rebase. Si les derniers checks ont échoué ou tournent encore, Soreno le dit, et le bouton devient Merger sans vérification. Une demande bloquée, en brouillon, en conflit ou sans les approbations requises, garde Merger grisé, avec la raison au survol.

La confirmation Merger #134 : feat/onglets-defilants sera mergée dans main, la branche source sera supprimée. Un avertissement signale que les derniers checks ont échoué ; Squash and merge est choisi, à côté de Commit de merge et Rebase and merge, et le bouton de confirmation devient Merger sans vérification.
Un check en échec : Soreno prévient avant de merger.

Le menu … fait le reste : Checkout dans un nouveau worktree, pour essayer la branche à côté de votre travail, Checkout dans ce worktree, ou Fermer. Et un brouillon se marque comme prêt d’un clic.

Vos CLI, aucun jeton

Soreno passe par gh et glab, installés là où vit le projet : en local, dans WSL ou sur votre serveur SSH. Il ne stocke aucun jeton : si la CLI n’est pas connectée, Se connecter à GitHub, ou à GitLab, ouvre un terminal pour vous authentifier. Cela fonctionne avec github.com et gitlab.com, sur le remote upstream, ou à défaut origin.

Tous les détails sont dans la page Pull et merge requests de la documentation.

Tous les articles

Ouvrez votre premier projet dans Soreno

Soreno lance les CLI déjà installés sur votre machine, dans WSL ou sur vos serveurs. Vos notes, vos réglages et vos issues locales restent dans votre profil.
Open source, sous licence MIT.

L’application macOS est signée et notariée par Apple. L’installateur Windows ne l’est pas encore : Windows peut signaler un éditeur inconnu. Sous Linux, l’AppImage se met à jour d’elle-même ; le paquet .deb, en installant le suivant.