2 points par a1eng0 2025-08-23 | 2 commentaires | Partager sur WhatsApp
  • Une extension GitHub CLI qui rebase automatiquement les stacked PR sur GitHub
  • Il existe de bons outils comme Graphite ou stacked-pr, mais leur barrière à l’entrée est trop élevée
    • Par exemple, il faut parfois créer les stacked PR uniquement avec ces outils plutôt qu’avec git
    • Et les options dans les fichiers de configuration locaux sont très nombreuses
  • J’avais besoin d’un outil de rebase très simple, sans configuration, qui se contente des fonctionnalités de PR de GitHub, je l’ai donc développé moi-même

Exemple

Supposons qu’il existe les stacked PR suivantes :

  • #102 (main <- stack-1)
  • #103 (stack-1 <- stack-2)
  • #104 (stack-2 <- stack-3)

Après avoir fusionné la PR #102 dans main, il faut rebase les PR #103 et #104.

  • Même rebase seulement deux PR est déjà une tâche assez pénible
  • En pratique, si le graphe s’est complexifié, par exemple parce que des commits supplémentaires ont été ajoutés à #102, se souvenir des commandes git permettant de retrouver le parent commun devient un vrai casse-tête
  • En plus, les stacked PR ne sont pas utilisées en permanence : on n’en a besoin qu’occasionnellement, ce qui les rend encore plus faciles à oublier

Avec la commande suivante, il est possible d’automatiser simplement le rebase :

gh domino --dry-run  
gh domino [--auto]  

Des exemples plus détaillés sont disponibles dans le README.md.

2 commentaires

 
lamanus 2025-08-25

Euh, je croyais que GitHub le faisait automatiquement, non ?!

 
a1eng0 2025-08-25

Si vous utilisez la fonctionnalité safe delete branch proposée par GitHub, la branche de base est changée automatiquement, mais dans le cas d’un squash merge, comme il n’y a pas de lien dans l’historique Git, cela crée un état de conflit !

De plus, si vous n’utilisez pas safe delete et supprimez directement la branche avec Git, il y a aussi la contrainte pénible de devoir changer la branche de base vous-même !