Page MenuHomec4science

version.py
No OneTemporary

File Metadata

Created
Fri, May 3, 17:44

version.py

import subprocess
import base64
def write_info_file(file_name):
header = '''#include <string>\nstd::string tamaas_release_info = "'''
file_content = ''
branch = subprocess.check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"])[:-1]
commit = subprocess.check_output(["git", "rev-parse", branch])[:-1]
file_content += '{} {}\n\n'.format(branch, commit)
diff = subprocess.check_output(["git", "diff"])
diff_cached = subprocess.check_output(["git", "diff", "--cached"])
file_content += "diff\n{}\n\n".format(base64.b64encode(diff))
file_content += "diff --cached\n{}\n\n".format(base64.b64encode(diff_cached))
remotes = subprocess.check_output(['git', 'remote', '-v'])
file_content += "remotes\n{}\n".format(remotes)
try:
origin_branch_commit = subprocess.check_output(["git", "rev-parse", "origin/" + branch, '--'], universal_newlines=True)
file_content += "origin/{} commit: {}".format(branch, origin_branch_commit)
except:
file_content += "origin/ {} does not exist".format(branch)
file_content += '"'
file_content = file_content.replace('\n', '\\\n')
with open(file_name, 'w') as file:
file.write(header + file_content + ';\n')

Event Timeline