2016-03-14 38 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

相关问题