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

CategoryKernel