git brame

昨晩のログ。エントリ投入に至らず、途中で死亡した模様です。
以下。
ええと arch/arm/mm/init.c でいくつかヤッてみます。

まず git log 見てみます

ええと linux-linaro-2.6.39 の現時点のてっぺんな commit は dcd71f67 として以下?

$ git log dcd71f67 -- arch/arm/mm/init.c

出力の一部が以下。

commit 941b3b1320b51f2591aa0219ab27918c930217db
Author: Russell King <rmk+kernel@arm.linux.org.uk>
Date:   Sat Jun 11 00:43:21 2011 +0100

    ARM: initrd: disable initrds outside of memory
    
    We can't cope with initrds outside of memory, so check that the
    initrd is within some declared memory to the kernel before using
    it.  Otherwise we're likely to OOPS during boot.
    
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    (cherry picked from commit 8f4b8c7613928d5c6da43715fedc00a7b1ee53be)

commit 8b6b171280f42fe990a52e2ce5fbe1b0ed65e83e
Author: Rabin Vincent <rabin@rab.in>
Date:   Thu Jun 2 15:01:36 2011 +0100

    ARM: 6951/1: include .bss in memory layout information
    
    The "Virtual memory kernel layout" message at startup already prints
    .text and .data.  Print .bss too.
    
    Signed-off-by: Rabin Vincent <rabin@rab.in>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    (cherry picked from commit 45f6d7e0e634d49744c1a590461ed1bb3d2201ac)

ええと、とりあえずコミットな id を控えておいて diff すれば良いのかな。
例えば

$ git log dcd71f67 -- arch/arm/mm/init.c|grep ^commit|wc -l
96
$

ということで今持ってる最新 commit から遡って arch/arm/mm/init.c をナニしてる commit は 96 あるみたい。
というかこれ、相当大変です。どっかに潜ってマニュアル索きつつ云々な時間を確保したいのですが無理だろうなぁ。

git brame

試してみました。以下です。

$ git blame dcd71f67 arch/arm/mm/init.c

出力微妙。

^1da177e (Linus Torvalds         2005-04-16 15:20:36 -0700   1) /*
^1da177e (Linus Torvalds         2005-04-16 15:20:36 -0700   2)  *  linux/arch/arm/mm/init.c
^1da177e (Linus Torvalds         2005-04-16 15:20:36 -0700   3)  *
90072059 (Russell King           2005-10-28 14:48:37 +0100   4)  *  Copyright (C) 1995-2005 Russell King
^1da177e (Linus Torvalds         2005-04-16 15:20:36 -0700   5)  *
^1da177e (Linus Torvalds         2005-04-16 15:20:36 -0700   6)  * This program is free software; you can redistribute it and/or modify
^1da177e (Linus Torvalds         2005-04-16 15:20:36 -0700   7)  * it under the terms of the GNU General Public License version 2 as
^1da177e (Linus Torvalds         2005-04-16 15:20:36 -0700   8)  * published by the Free Software Foundation.
^1da177e (Linus Torvalds         2005-04-16 15:20:36 -0700   9)  */
^1da177e (Linus Torvalds         2005-04-16 15:20:36 -0700  10) #include <linux/kernel.h>

先頭 ^ は root commit との記述あり。もう少し追い掛け方を追求したいな。