怎么知道哪些内核有一些提交应用于它们?

时间:2011-11-22 08:44:07

标签: linux linux-kernel

假设,我想知道,在他们的代码中哪些内核版本中有一些提交。我该怎么办?

2 个答案:

答案 0 :(得分:2)

您可以使用git describe --contains

例如,

% git show -p c5efa5fc91f1f6d1d47e65f39e7ec6d1157c777d
commit c5efa5fc91f1f6d1d47e65f39e7ec6d1157c777d
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
Date:   Wed May 26 08:42:11 2010 -0400

    NFS: Ensure that we mark the inode as dirty if we exit early from commit


% git describe --contains c5efa5fc91f1f6d1d47e65f39e7ec6d1157c777d
v2.6.35-rc1~43^2~1

答案 1 :(得分:0)

您可以列出所有标签,并列出相应的提交,其提交日期为:

FORMAT=$'\e[47m%h\e[0m\e[1;45m%d\e[0m \e[1;31m[%an]\e[0m %s \e[1;34m%ar\e[0m'
git tag | xargs -l git log --oneline -n1 --format="$FORMAT"

输出:

....
b6fd41e (v3.1-rc6) [Linus Torvalds] Linux 3.1-rc6 2 months ago
d93dc5c (v3.1-rc7) [Linus Torvalds] Linux 3.1-rc7 9 weeks ago
a102a9e (v3.1-rc8) [Linus Torvalds] Linux 3.1-rc8 8 weeks ago
976d167 (v3.1-rc9) [Linus Torvalds] Linux 3.1-rc9 7 weeks ago
1ea6b8f (v3.2-rc1) [Linus Torvalds] Linux 3.2-rc1 2 weeks ago
cfcfc9e (v3.2-rc2) [Linus Torvalds] Linux 3.2-rc2 7 days ago

要知道哪些提交包含在3.2-rc2中,您可以输入:

git log --oneline --graph --format="$FORMAT" 1ea6b8f..cfcfc9e

并查看输出:

* cfcfc9e (v3.2-rc2) [Linus Torvalds] Linux 3.2-rc2 7 days ago
*   101041c [Linus Torvalds] Merge branch 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/
|\  
| * 08f2e63 [Ming Lei] iommu: omap: Fix compile failure 2 weeks ago
*   5870b2c [Linus Torvalds] Merge branch 'fixes' of git://git.linaro.org/people/triad/linux-pinctrl 7 days ag
|\  
| * 45f034e [Linus Walleij] pinctrl: hide subsystem from the populace 2 weeks ago
| * e0e2075 [Barry Song] pinctrl: fix "warning: 'struct pinctrl_dev' declared inside parameter list" 4 weeks a
*   642ba5e [Linus Torvalds] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/l
|\  
....

嗯,虽然v3.2-rc1..v3.2-rc2也有效,但我更喜欢这种方式,因为有时标签名称可能包含两个点。