lundi 11 septembre 2023

Tester localement et facilement une Pull Request

Lorsqu'on travaille sur un projet plus ou moins communautaire, ou à minima en équipe, il est nécessaire de tester les PRs avant de les valider, et donc de les intégrer. Seulement, aller chercher la branche distante du fork de la personne qui a fait la PR se révèle très fastidieux. Il existe néanmoins une solution qui permet de gagner pas mal de temps.


Nous allons ici voir comment récupérer directement le contenu de la PR dans la branche dans laquelle nous souhaitons la fusionner.

On se place dans un premier temps sur la branche concernée :

$ git checkout master

On la met à jour :

$ git pull origin master

On récupère ensuite l'ID de la Pull Request qu'on veut tester. Il s'agit du numéro que l'on trouve dans l'URL de la PR, ou le numéro qui est précédé d'un # sur la page de la PR.
La commande suivante nous permet alors de la récupérer dans une nouvelle branche :

$ git fetch origin pull/<ID>/head:<Nom de la branche>

Et basculez sur la branche en question.

$ git checkout <Nom de la branche>

Par exemple, pour créer la branche "TestPR325" qui correspond à la PR ID 325, il suffit d'utiliser :

$ git fetch origin/pull/325/head:TestPR325
$ git checkout TestPR325

Une fois vos tests terminés, retournez sur la branche de destination des PR, et recommencez la manipulation.

$ git checkout master

lundi 28 août 2023

Désinstaller Node.js sur MacOS

Pour un projet personnel, j'ai dû installer Node.js. Mais j'ai eu la mauvaise idée de l'installer à partir du fichier .pkg fourni sur le site de Node.js.


Ce fichier .pkg ne propose aucune option de désinstallation, et l'application de se retrouve pas dans le dossier Applications qui permet de procéder à une désinstallation par glisser/déposer dans la corbeille.

Ainsi, j'ai dû creuser un peu pour pouvoir désinstaller correctement Node.js et npm. Voici les étapes à suivre :

$ sudo npm uninstall npm -g
$ sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
$ sudo rm -rf /usr/local/include/node /Users/$USER/.npm
$ sudo rm /usr/local/bin/node
$ sudo rm /usr/local/share/man/man1/node.1
$ sudo rm /usr/local/lib/dtrace/node.d

Ceci permet ensuite de l'installer avec Homebrew, le gestionnaire de paquets pour MacOS que je déteste :

$ brew install node