优化生成构建信息的逻辑,添加异常处理以应对 git 未安装或非 git 仓库的情况

This commit is contained in:
2026-01-05 21:22:54 +08:00
parent 1a00811cfc
commit d95bdef3f5

View File

@@ -18,11 +18,23 @@ from datetime import datetime
def gen_build_info(): 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: with open('build_info.py', 'w', encoding='utf-8') as f:
f.write(f"# Auto-generated build info\n") f.write(f"# Auto-generated build info\n")
f.write(f"BUILD_TIME = '{datetime.now().isoformat(sep=' ', timespec='seconds')}'\n") f.write(f"BUILD_TIME = '{datetime.now().isoformat(sep=' ', timespec='seconds')}'\n")
f.write(f"GIT_HASH = '{hash_str}'\n") f.write(f"GIT_HASH = '{hash_str}'\n")
if __name__ == '__main__':
gen_build_info() gen_build_info()