Files
MaaAssistantArknights/tools/AutoLocalization/src/auto_localization/git.py

27 lines
1016 B
Python

import os.path
import subprocess
def get_latest_file_content(file_path='./cli.py', encoding='utf-8', tag_name=""):
dirname = os.path.dirname(file_path)
basename = os.path.basename(file_path)
# 获取最近一次修改该文件的commit的ID
heading = 'HEAD'
if tag_name:
result = subprocess.run(['git', 'rev-list', '-n', '1', 'tag-autolocalization', '--', basename],
cwd=dirname,
capture_output=True,
text=True)
commit_id = result.stdout.replace('"', '').replace('\'', '').strip()
heading = commit_id if commit_id else heading
result = subprocess.run(['git', 'show', f'{heading}:./{basename}'],
cwd=dirname,
capture_output=True,
text=True,
encoding=encoding)
return result.stdout
if __name__ == '__main__':
print(get_latest_file_content('cli.py'))