git - 跟踪Linux内核.config文件

时间:2012-01-16 08:58:49

标签: git kernel

有没有一种方便的跟踪内核.config文件?每次运行make menuconfig时,都会编辑.config,即使我没有更改任何值,它也会更改。

当我执行差异时,.config似乎有所不同,但它刚刚搞砸了行:

same lines, but at different position

make的角度来看,这是同一个文件。从git的角度来看,它是一个完全不同的文件,需要提交大量的新/编辑行。

我觉得我错过了一些东西。它应该是跟踪.config文件的正确方法:)

谢谢

2 个答案:

答案 0 :(得分:1)

在比较和添加到存储库并对“base”进行排序之前,总是只有缺少/添加的行(不是放在别处的行)的愚蠢(但简单)方法将是sort .config文件。 config与...进行比较。

请注意,这将在开头存储所有空格和空注释行,但会将(未)注释行保留在相关位置。这是我的.config:

的一个例子
$ sort /boot/config-2.6.35-24-generic
...
CONFIG_TRACING=y
CONFIG_TRANZPORT=m
# CONFIG_TREE_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_TREE_RCU=y
CONFIG_TR=y
CONFIG_TTPCI_EEPROM=m
CONFIG_TULIP=m
# CONFIG_TULIP_MMIO is not set
# CONFIG_TULIP_MWI is not set
# CONFIG_TULIP_NAPI is not set
CONFIG_TUN=y
...

答案 1 :(得分:0)

我创建了一个包含

.git/hooks/pre-commit文件
#!/bin/sh
uname -a > uname.log
lspci -k > lspci.log
grep -e "^#" -v .config | sort > .config.sorted

您可以git add .config.sorted并将其与差异进行比较。这两个日志文件会跟踪系统中的更改。 另外,可以使用/usr/src/linux/scripts/diffconfig .config .anotherconfig进行比较。