2016-03-14 40 views
1

我有一個github存儲庫的大型python項目。該項目與setup tools一起安裝,如果在調用setup.py install時能夠反省並將項目變量設置爲正在安裝的當前提交,將會很方便。如何使用python獲取其自己的github存儲庫的當前提交

即。它會是得心應手,能夠做到這一點

git clone https://github.com/u/project.git 
cd /path/to/project 
sudo python setup.py install 

python 
import project 
print project.last_commit 
>> 25jnrpf8pqijfq49sdsfjsj09sdf0sfjsdfkjs 

這不是設置工具來得到這些信息在所有重要的;我很滿足於在安裝之前編寫一個腳本來修改源代碼。

我也意識到這可能是一個可怕的想法,因爲我會立即改變本地倉庫不再,其實的表面上的承諾,但是,只有其他的方式我能想到這樣做通過手動手動更新last_commit變量,當然,永遠不會忘記這樣做。

大多數情況下,我只是好奇,如果這可以做到沒有太痛苦。

+1

爲什麼不使用子進程調用git然後設置一個全局變量? 'git log --pretty -1'給出了最後提交的一個非常好的總結,並且可以很容易地定製 –

回答

1

在shell中獲取當前git commit hash的可接受方式是git rev-parse HEAD(或git rev-parse --short HEAD,如果需要的話),因此最好僅對該字符串使用subprocess.check_output

相關問題