2016-10-23 2 views
1

Je travaille actuellement sur un système qui incrémente automatiquement un numéro de version. Le numéro de version est actuellement stocké dans un fichier en utilisant une version majeure, mineure et patch. J'ai pensé à me débarrasser du patch pour éviter d'avoir à changer manuellement le numéro de version à chaque fois. Le patch serait alors simplement le nombre de validations depuis la dernière fois que le fichier (ou la version si cela fonctionne aussi) a été modifié.Nombre de validations depuis la dernière modification du fichier

Est-ce possible?

Répondre

0

ouais nous pouvons lister tous les commits faits au fichier spécifique. git log --follow nom de fichier mais je ne suis pas sûr du nombre.

+2

Cela fonctionne: '' rev-liste git --count $ (git log --follow -1 --pretty =% H nom de fichier) .. HEAD'' – BrainStone

+0

@BrainStone: Notez que cette méthode peut bien fonctionner, mais vous devez être prêt pour les cas où le compte "saute" en raison de fusions. La notation «X..Y» signifie «l'ensemble des commits atteignables à partir de« Y »moins l'ensemble accessible à partir de« X ». Normalement, ajouter 1 commit à l'ensemble dans 'Y' ajoute 1 au résultat obtenu - mais quand vous ajoutez un * merge * commit à' Y' vous ajouterez généralement beaucoup plus de 1. C'est bien * tant que * vous ne vous attendez pas à ce qu'il ne soit incrémenté que d'un seul à la fois. (Les commits apportés de "l'autre côté" de la fusion restent dans, donc le compte augmente de nouveau à partir de là.) – torek

+0

@torek c'est ce que je veux. Donc c'est bon – BrainStone