Linus git repository
To keep up with latest changes from Linus, use git clone
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
To keep it uptodate you need to pull the latest changes
~/src/linux$ git pull
To see all changes between 2.6.22 and 2.6.23 with commit message
~/src/linux$ git log -p v2.6.22..v2.6.23
if you happen to know the revision id of a change but need to know the fixed version. You now know that it was 179 revisions before 2.6.24-rc1 (138 + 1 + 40 = 179). So you know the fix went into 2.6.24-rc1:
~/src/linux$ git name-rev a8cd925f74c3b1b6d1192f9e75f9d12cc2ab148a a8cd925f74c3b1b6d1192f9e75f9d12cc2ab148a tags/v2.6.24-rc1~138^2~40
This command gives you a feeling of the development speed
~/src/linux$ git diff --shortstat v2.6.22..v2.6.23 7203 files changed, 406268 insertions(+), 339071 deletions(-)
Fetch mm tree
To fetch an -mm tree using git, use (for example)
git-fetch git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git tag v2.6.16-rc2-mm1 git-checkout -b local-v2.6.16-rc2-mm1 v2.6.16-rc2-mm1
Git daily snapshots
These are daily snapshots of Linux' git kernel tree available in oldstyle patch format.
They are always relative to the latest 2.6.x-rc kernel. A patch named 2.6.23-git1 applies to the 2.6.23 kernel source and a patch named 2.6.23-rc3-git2 applies to the source of the 2.6.23-rc3 kernel.
Examples
Here are some examples of how to apply these patches
moving from 2.6.23 to 2.6.23-git1
cd ~/linux-2.6.23 # change to the kernel source dir patch -p1 < ../patch-2.6.23-git1 # apply the 2.6.23-git1 patch cd .. mv linux-2.6.23 linux-2.6.23-git1 # rename the kernel source dir
moving from 2.6.23-git1 to 2.6.23-rc2-git3
cd ~/linux-2.6.23-git1 # change to the kernel source dir patch -p1 -R < ../patch-2.6.23-git1 # revert the 2.6.23-git1 patch # we now have a 2.6.22 kernel patch -p1 < ../patch-2.6.23-rc2 # apply the 2.6.23-rc2 patch # the kernel is now 2.6.23-rc2 patch -p1 < ../patch-2.6.23-rc2-git3 # apply the 2.6.23-rc2-git3 patch # the kernel is now 2.6.23-rc2-git3 cd .. mv linux-2.6.23-git1 linux-2.6.23-rc2-git3 # rename source dir
Alternatively you can get the commit ids for the snapshots from the files being named patch-2.6.XX-rcY-gitZ.id in http://kernel.org/pub/linux/kernel/v2.6/snapshots/.
See also: Bisecting a bug