diff --git a/utils/hook.py b/utils/hook.py index 8230a91..76777e6 100644 --- a/utils/hook.py +++ b/utils/hook.py @@ -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") -gen_build_info() +if __name__ == '__main__': + gen_build_info()