Aller au contenu

Étape 4: Cycle de vie

Hapify & Git patch

Hapify permet de régénérer le code cible sans écraser les modifications que vous avez pu y apporter. Cette fonctionnalité se base sur les commandes git format-patch et git am. Vous pouvez ainsi utiliser Hapify tout au long de votre projet et non pas en démarrage seulement.

Préparation du dépôt

Pour pouvoir utiliser correctement la commande hpf patch, vous devez lancer la génération sur une branche séparée. Par exemple, créez une branche nommée hapify.

Première génération

Allez sur cette nouvelle branche hapify. Exécutez votre première génération en utilisant hpf generate.

Si vous utilisez un formateur de code, exécutez le après chaque génération.

Commitez ceci. Appelons-le Génération 1.

Fusionnez la branche hapify dans votre branche de travail, disons develop.

Maintenant vous pouvez commencer à travailler sur develop et personnaliser le code généré.

Deuxième génération

Oh non ! Vous avez oublié quelque chose dans vos modèles de données, les spécifications du projet ont changé, ou vous voulez modifier quelques lignes dans vos templates.

Si vous utilisez un formateur de code, lancez-le dans votre branche de travail (develop par exemple).

Passez sur la branche hapify. Modifiez vos modèles de données et/ou templates. Lancez la génération et exécutez votre formateur de code (s'il y en a un).

Commitez le tout. Appelons-le Génération 2.

Appliquez la différence

Vous pouvez maintenant lancer la commande hpf patch pour calculer la différence entre les commits Génération 1 et Génération 2 et l'appliquer à develop.

$ hpf patch
? Choose a source branch hapify
? Choose the first commit [2018-10-19 17:56:40 -0400] Generation 1
? Choose the second commit [2018-10-22 01:47:18 -0400] Generation 2
? Choose a destination branch develop

Avant de faire quoi que ce soit, cela affichera la commande git qui sera exécutée, et demandera une confirmation. Cela devrait ressembler à ceci :

git format-patch --stdout e5d01ec559aa79b0af8f80839e22e15f3283c752..be93268f6d404c4c7c83c55a6dcb98f4930a0c1c | git am -3 -k

Si une erreur s'est produite pendant cette commande git, c'est probablement dû à un conflit de fusion.

Si c'est le cas, ouvrez votre éditeur de code et résolvez le conflit. Une fois que c'est fait, lancez git am --continue pour finaliser ou git am --abort pour annuler la fusion.