Given a git commit hash, how to find out which kernel release contains it?
Solution 1
In GitHub kernel repository, you can check all tags/kernel versions.
Example for dc0827c128c0ee5a58b822b99d662b59f4b8e970 provided by Jim Paris:
If three-dots are clicked, full list of tags/kernel versions can be seen.
Solution 2
As mentioned on LWN, the easiest is:
git describe --contains f3a1ef9cee4812e2d08c855eb373f0d83433e34c
If you don't want a local clone, gitweb's "plain" formatted commit contains the same info in the X-Git-Tag
header. Unfortunately kernel.org switched over to cgit which apparently does not disclose this information. Previously it was possible to find it out like this:
Here, X-Git-Tag
is actually missing at the moment because that commit isn't in a tagged release in that repository. But you can look at an earlier commit, like:
Here, you see:
X-Git-Tag: v3.4-rc1~184^2~10
which tells me that the tag "v3.4-rc1" was the first tag to follow my patch, so I'd expect to see it in v3.4.
Solution 3
You can use something like this
git-show f3a1ef9cee4812e2d08c855eb373f0d83433e34c:Makefile \
| head -4 | awk -vORS='.' '{print $3}' | sed 's/\.*$//'
This requires local git repo.
Solution 4
Old question, but I was surprised no answer included:
git tag --contains <Commit ID>
From git tag help message:
Tag listing options
--contains <commit> print only tags that contain the commit
This requires a local GIT repository.
Since this question was the first result I got when looking for a solution, I think this would be helpful for others.
Related videos on Youtube
Joachim Breitner
Updated on September 18, 2022Comments
-
Joachim Breitner over 1 year
Assume I have some issue that was fixed by a recent patch to the official Linux git repository. I have a work around, but I’d like to undo it when a release happens that contains my the fix. I know the exact git commit hash, e.g. f3a1ef9cee4812e2d08c855eb373f0d83433e34c.
What is the easiest way to answer the question: What kernel releases so far contain this patch? Bonus points if no local Linux git repository is needed.
(LWM discusses some ideas, but these do require a local repository.)
-
ahmet alp balkan about 8 yearsNot sure if this is answer is valid anymore. X-Git-Tag does not appear.
-
cheshirecatalyst about 8 yearsThe first sentence is still valid. Finding the answer through gitweb is no longer an option, but that's why this question was edited almost 3 years ago to say just that.
-
Philipp Wendler about 8 yearsNowadays GitHub shows all tags containing a specific commit just below the commit message, so no need to correlate by date anymore.