2009-08-31 16 views
0

我正在開發Linux源代碼樹之外的Linux內核模塊(以標準方式),並試圖自動將驅動程序的git提交哈希包含到版本字符串中在模塊加載期間打印出來。 Makefile的計算使用命令git commit外部可加載模塊的哈希

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

git的哈希值,但該拿起的Linux樹的git的哈希值,而不是我的司機。你可以告訴git在執行命令時查看特定的目錄嗎?或者,有沒有更好的方法來解決這個問題?

這是使用Git 1.5.4.5和Linux 2.6.28

回答

1

是的,你可以使用--git-dir選項,你應該設置適當的.git目錄。此外,儘管您可以使用git log,但您在做什麼rev-parse(管道命令)可能更合適。

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

git採用一個選項--git-dir它可以讓你指定哪些倉庫中的樣子。還有,如果你需要在工作樹看起來過於類似--work-tree選項。

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

查看git man page瞭解這些和其他選項的說明。