Dans gitlab on peut passer des options au moment du push. Cela permet de ne pas déclencher la CI ou de positionner des variables. Mais comment faire cela avec magit ?
Et bien, encore une fois, il est très simple de configurer emacs et ses paquets pour adapter son comportement à nos besoins. C’est l’outil qui s’adapte (à chaud) et non pas nous qui devons nous adapter à l’outil.
J’ai trouvé la solution dans ce commentaire github.
Magit utilise transient
et il nous suffit d’ajouter des options dans les menus.
On ajoute les options à la suite du dernier switch par défaut -u
, au niveau visible 1.
L’ordre est donc important.
(transient-append-suffix 'magit-push "-u"
'(1 "=s" "Skip gitlab pipeline" "--push-option=ci.skip"))
(transient-append-suffix 'magit-push "=s"
'(1 "=D" "DEBUG" "--push-option=ci.variable=DEBUG=1"))
(transient-append-suffix 'magit-push "=D"
'(1 "=V" "Set CI variable" "--push-option=ci.variable="))
(transient-append-suffix 'magit-push "=V"
'(1 "=O" "Set push option" "--push-option="))
(transient-append-suffix 'magit-push "=D"
'(1 "=V" "Set CI variable" "--push-option=ci.variable="))
On peut copier ces lignes dans le buffer *scratch*
et faire un eval-region
pour que les nouveaux menus apparaissent.
Pas besoin de faire autre chose :-)
Ah si, il vous faudra ajouter ces lignes dans votre configuration emacs.
Et on si on pousse plusieurs fois de suite en positionnant la même variable M-p
est très utile pour remonter dans l’historique de saisie de la variable.