Pergunta

Estou desenvolvendo um módulo de kernel Linux fora da árvore de origem Linux (da maneira padrão) e estou tentando incluir automaticamente o hash commit git do condutor na string de versão impressa durante a carga do módulo. O Makefile calcula o hash git usando o comando

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

Mas isso pega o hash git da árvore Linux e não meu motorista. Você pode dizer ao Git para analisar um diretório específico ao executar comandos ou, alternativamente, existe uma maneira melhor de abordar esse problema?

Isso está usando o Git 1.5.4.5 e o Linux 2.6.28

Foi útil?

Solução

Sim, você pode usar o --git-dir opção que você deve definir para o apropriado .git diretório. Além disso, enquanto você pode usar git log, pelo que você está fazendo rev-parse (Um comando de encanamento) pode ser mais adequado.

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

Outras dicas

git toma uma opção --git-dir o que permite especificar qual repositório para olhar. Há um análogo --work-tree opção se você precisar olhar para a árvore de trabalho também.

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

Olhe para a Página do homem git Para descrições dessas e de outras opções.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top