1 2import os 3import subprocess 4import tempfile 5 6def get_commit_info(repo): 7 with tempfile.TemporaryDirectory() as home_dir: 8 env_with_home = os.environ.copy() 9 env_with_home["HOME"] = home_dir 10 subprocess.check_output(["git", "config", "--global", "--add", "safe.directory", repo], env=env_with_home) 11 lines = subprocess.check_output(["git", "log", "--pretty=raw"], cwd=repo, env=env_with_home).decode().split("\n") 12 return dict([x.split() for x in lines if len(x.split()) == 2])