Domanda

sto sviluppando un modulo del kernel di Linux al di fuori dell'albero dei sorgenti di Linux (in modo standard) e sto cercando di includere automaticamente il git commit hash del Driver nella stringa versione stampata durante carico del modulo. Il Makefile calcola l'hash git utilizzando il comando

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

ma questo raccoglie l'hash git dell'albero di Linux e non il mio autista. Puoi dire git di guardare una particolare directory in cui l'esecuzione di comandi, o, in alternativa, è che c'è un modo migliore di affrontare questo problema?

Questo sta usando git 1.5.4.5 e Linux 2.6.28

È stato utile?

Soluzione

Sì, è possibile utilizzare l'opzione --git-dir che è necessario impostare la directory .git appropriata. Inoltre, mentre è possibile utilizzare git log, per quello che stai facendo rev-parse (un comando idraulico) potrebbe essere più adatto.

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

Altri suggerimenti

git prende un --git-dir un'opzione che consente di specificare quali repository di guardare. C'è un'opzione --work-tree analogo se avete bisogno di guardare l'albero di lavoro troppo.

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

Guardate il pagina man git descrizioni di queste e altre opzioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top