URL を覚えていて手癖で簡単に入力できるという理由で Linux kernel を手元に持ってくるときにはよく
git clone https://github.com/torvalds/linux.git
をしてしまうのだが,ここで git checkout
をマイナーバージョンまでではなくパッチバージョンまでのレベルで指定しようとすると,そのようなタグはないと言われる。
error: pathspec 'v4.1.8' did not match any file(s) known to git
これは GitHub にあるミラーレポジトリはリリース候補のタグしか置いてないためで,kernel.org にある linux-stable の Git レポジトリを利用しないとパッチバージョンのタグが打たれていない。
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linu.git
このレポジトリを利用すれば,パッチバージョンでの変化や歴史を Git で追いたいときに便利だ。
$ git checkout v4.1.8
HEAD is now at 36311a9ec490 Linux 4.1.8
もっとも,Git の機能を利用せずコードを読むだけなら tarball をダウンロードするほうが手っ取り早い。
curl -LO https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.1.8.tar.xz