Étant donné un hash commit git, comment savoir quelle version du kernel le contient?

Supposons que j'ai un problème qui a été corrigé par un correctif récent au référentiel git Linux officiel. J'ai un travail autour, mais je voudrais défaire quand une libération qui contient ma solution. Je connais le hachage exact git commit, par exemple f3a1ef9cee4812e2d08c855eb373f0d83433e34c .

Quel est le moyen le plus simple de répondre à la question: Quelles versions du kernel à ce jour contiennent ce patch? Points bonus si aucun référentiel Linux git local n'est nécessaire.

( LWM discute de certaines idées, mais elles nécessitent un référentiel local.)

    Comme mentionné sur LWN, le plus simple est:

    git describe --contains f3a1ef9cee4812e2d08c855eb373f0d83433e34c 

    Si vous ne voulez pas de clone local, la validation formatée "plain" de gitweb contient la même information dans l'en X-Git-Tag tête X-Git-Tag . Malheureusement, kernel.org est passé à cgit qui apparemment ne divulgue pas cette information. Auparavant, il était possible de le find comme ceci:

    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff_plain;h=f3a1ef9cee4812e2d08c855eb373f0d83433e34c

    Ici, X-Git-Tag est actuellement manquant car cette validation n'est pas dans une version étiquetée dans ce référentiel. Mais vous pouvez regarder un commit plus tôt, comme:

    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff_plain;h=dc0827c128c0ee5a58b822b99d662b59f4b8e970

    Ici, vous voyez:

     X-Git-Tag: v3.4-rc1~184^2~10 

    qui me dit que le tag "v3.4-rc1" était le premier tag à suivre mon patch, donc je m'attendrais à le voir en v3.4.

    Vous pouvez voir la validation sur le miroir source github. Je suppose que vous pouvez corréler les tags de version à la date de validation (dans ce cas, votre commit a cinq jours, le plus récent RC étiqueté sur le master est sept), mais franchement cela est plus facile si vous clonez la source localement.

    Vous pouvez utiliser quelque chose comme ça

     git-show f3a1ef9cee4812e2d08c855eb373f0d83433e34c:Makefile \ | head -4 | awk -vORS='.' '{print $3}' | sed 's/\.*$//' 

    J'espère que cela est explicite. Bien sûr, cela nécessite repo local git.