优化生成构建信息的逻辑,添加异常处理以应对 git 未安装或非 git 仓库的情况
This commit is contained in:
@@ -18,11 +18,23 @@ from datetime import datetime
|
||||
|
||||
|
||||
def gen_build_info():
|
||||
hash_str = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).decode('utf-8').strip()
|
||||
try:
|
||||
hash_str = subprocess.check_output(
|
||||
['git', 'rev-parse', '--short', 'HEAD'],
|
||||
stderr=subprocess.DEVNULL
|
||||
).decode('utf-8').strip()
|
||||
except FileNotFoundError:
|
||||
# git 未安装
|
||||
hash_str = 'unknown'
|
||||
except subprocess.CalledProcessError:
|
||||
# 不是 git 仓库(如从压缩包下载)
|
||||
hash_str = 'unknown'
|
||||
|
||||
with open('build_info.py', 'w', encoding='utf-8') as f:
|
||||
f.write(f"# Auto-generated build info\n")
|
||||
f.write(f"BUILD_TIME = '{datetime.now().isoformat(sep=' ', timespec='seconds')}'\n")
|
||||
f.write(f"GIT_HASH = '{hash_str}'\n")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
gen_build_info()
|
||||
|
||||
Reference in New Issue
Block a user