Gitwatch: Ajouter une option pour inclure un diff (tronqué) dans le message de validation

Créé le 28 nov. 2012  ·  7Commentaires  ·  Source: gitwatch/gitwatch

Comme implémenté dans une version one-shot sur ibrahima / gitwatch @ 0163ec5 , et souligné par @ibrahima dans les commentaires sur ce commit, il pourrait être intéressant pour certains cas d'utilisation d'avoir la chance d'inclure le diff dans le message de commit.

En laissant de côté des choses comme le nom de fichier, et en le tronquant à la longueur maximale standard de 80 caractères des messages de commit git "courts", cela devrait aller parfaitement avec les changements qui ne changent généralement qu'un seul fichier.

L'option peut également détecter le cas de plusieurs fichiers ayant été modifiés et n'incluant pas le diff réel dans ce cas, mais plutôt quelque chose comme «Plusieurs fichiers ont été modifiés, diff omis».

help wanted

Commentaire le plus utile

@mlncn Si vous essayez ma pull request https://github.com/gitwatch/gitwatch/pull/54 ( git fetch origin pull/54/head:pr-54 && git checkout pr-54 ), vous devriez pouvoir voir les noms de fichiers (avec un graphique des changements) comme commit le message en utilisant gitwatch -l 1 ~/myproject .

Tous les 7 commentaires

vous pouvez implémenter un commutateur d'option (par exemple -d / - diff) pour l'inclure, et un commutateur supplémentaire à définir après combien de caractères il doit être tronqué (doit être par défaut à 80)

Cela semble être une manière sensée de le faire.

Pour la dernière fois, j'ai vérifié qu'il n'y avait pas une bonne manière de faire de longs changements d'options (--diff) dans bash (il y a quelques façons raisonnables, dont je ne considère aucune élégante mais les scripts bash sont rarement élégants;)). Comme c'est bash, j'opterais probablement pour getopts et ne ferais que des commutations de caractère unique, bien qu'il existe un moyen de faire des options longues qui reposent sur un comportement non standard ou quelque chose du genre. Il y a aussi GNU getopt qui prend en charge les options longues mais qui peut être une solution moins portable et qui a l'air un peu plus moche. Quoi qu'il en soit, vous ne vous souciez probablement pas de tout cela à ce stade, car jusqu'à présent, gitwatch ne prend aucune option en dehors du chemin, mais je suppose que c'est à vous de décider ce que vous en pensez. J'ai déjà travaillé avec getopts, c'est assez simple et c'est un bash intégré.

Je suppose que l'autre question est de savoir comment tronquer et si vous voulez que les symboles + - soient inclus et si vous voudriez également des noms de fichiers. Peut-être qu'il pourrait y avoir quelques options qui ajoutent différents composants au message (diff tronqué, fichiers modifiés, message de validation automatique actuel, etc.).

Nous avons introduit quelques options courtes dans la branche testing, en utilisant getopts dans bash. Mais vous avez raison, s'il n'y a pas de «bonne» façon d'utiliser les options longues, les courtes feront l'affaire pour le moment.

Pour l'instant, il suffit de faire précéder le message de diff avant que le reste du message de validation ne fasse l'affaire. Les utilisateurs peuvent modifier le script assez facilement s'ils préfèrent un autre type de message de validation. Si vous pouviez extraire la branche de test et y ajouter l'option et la gestion, ce serait génial: D

Il semble que des progrès significatifs aient été accomplis à cet égard. Si quelqu'un veut revoir cela et le terminer, je serais heureux d'envisager de fusionner.

Je recherche en fait quelque chose de similaire, mais je souhaite uniquement inclure le nom de fichier dans le message de validation. C'est probablement plus facile ou il existe peut-être déjà un moyen de le faire?

@dmusican Je veux aussi cette fonctionnalité, donc je l'ai implémentée et créé une pull request contre votre dernière branche principale pour cela: https://github.com/gitwatch/gitwatch/pull/54
De plus, comme vous pouvez définir le nombre de lignes affichées sous forme de "git diff" par rapport à "git diff --stat", l'utilisation de "-l 1" provoquera la fonctionnalité que quelqu'un a essayé d'implémenter dans une ancienne pull request https: // github.com/gitwatch/gitwatch/pull/23/commits/af28cf4a87c71cdb9da7046d40ea9542a4661f43

@mlncn Si vous essayez ma pull request https://github.com/gitwatch/gitwatch/pull/54 ( git fetch origin pull/54/head:pr-54 && git checkout pr-54 ), vous devriez pouvoir voir les noms de fichiers (avec un graphique des changements) comme commit le message en utilisant gitwatch -l 1 ~/myproject .

Demande d'extraction fusionnée. Merci beaucoup, @shervinemami .

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

datag picture datag  ·  9Commentaires

miguelarauj1o picture miguelarauj1o  ·  7Commentaires

Alwaysin picture Alwaysin  ·  8Commentaires

hongkongkiwi picture hongkongkiwi  ·  3Commentaires

sbellware picture sbellware  ·  12Commentaires