git - Отслеживает файл ядра Linux .config - PullRequest
4 голосов
/ 16 января 2012

Есть ли удобный способ отслеживать файл ядра .config?Каждый раз, когда я запускаю make menuconfig, .config редактируется, и он меняется, даже если я не изменяю никакого значения.

Когда я выполняю diff, .config кажется другим, но он только что испортил строки:

same lines, but at different position

С точки зрения make, это тот же файл.С точки зрения мерзавца, это совершенно другой файл с тоннами новых / отредактированных строк, которые нужно зафиксировать.

Я чувствую, что что-то упустил.Это должен быть правильный способ для отслеживания файла .config:)

Спасибо

Ответы [ 2 ]

1 голос
/ 16 января 2012

Глупый (но простой) способ всегда различать только отсутствующие / добавленные строки (не строки, размещенные в другом месте) будет 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
...
0 голосов
/ 31 мая 2013

Я создал .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 и сравнить его с diff. Два файла журнала отслеживают изменения в системе. Дополнительно можно использовать /usr/src/linux/scripts/diffconfig .config .anotherconfig для сравнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...