Question

Je développe un module du noyau Linux en dehors de l'arbre source Linux (la manière standard) et je suis essayant d'inclure automatiquement engager le git hachage du pilote dans la chaîne de version imprimée pendant la charge du module. Le Makefile calcule la valeur de hachage git en utilisant la commande

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

mais cela prend le hachage git de l'arbre Linux et pas mon chauffeur. Pouvez-vous dire git à regarder un répertoire particulier lors de l'exécution des commandes, ou bien, est-il une meilleure façon d'aborder ce problème?

utilise 1.5.4.5 git et Linux 2.6.28

Était-ce utile?

La solution

Oui, vous pouvez utiliser l'option --git-dir que vous devez définir le répertoire de .git approprié. En outre, alors que vous pouvez utiliser git log, pour ce que vous faites rev-parse (une commande de plomberie) pourrait être plus approprié.

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

Autres conseils

git prend une --git-dir option qui vous permet de spécifier quel référentiel de regarder dans. Il y a une option analogue --work-tree si vous avez besoin de regarder l'arbre de travail aussi.

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

Regardez la page man git les descriptions de ces et d'autres options.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top