git commit хэш внешнего загружаемого модуля - PullRequest
0 голосов
/ 31 августа 2009

Я разрабатываю модуль ядра Linux вне дерева исходных текстов Linux (стандартным способом) и пытаюсь автоматически включить хеш git commit драйвера в строку версии, напечатанную во время загрузка модуля. Makefile вычисляет git-хеш с помощью команды

DRV_TAG   := $(shell git log -1 --pretty=format:"%h")

, но это берет хэш дерева Linux, а не мой драйвер. Можете ли вы сказать git, что нужно смотреть на определенный каталог при выполнении команд, или, альтернативно, есть ли лучший способ решения этой проблемы?

Это использует git 1.5.4.5 и Linux 2.6.28

Ответы [ 2 ]

1 голос
/ 31 августа 2009

git принимает опцию --git-dir, которая позволяет вам указать, какой репозиторий искать. Есть аналогичная опция --work-tree, если вам нужно взглянуть и на рабочее дерево.

git --git-dir=/path/to/repo log -1 --pretty=format:"%h"

Посмотрите на справочную страницу git для описания этих и других опций.

1 голос
/ 31 августа 2009

Да, вы можете использовать опцию --git-dir, которую вы должны установить в соответствующий каталог .git. Кроме того, хотя вы можете использовать git log, для того, что вы делаете, rev-parse (сантехническая команда) может быть более подходящим.

git --git-dir=/driver/root/.git rev-parse HEAD
...