#!/usr/bin/python3 import os import subprocess import sys import argparse PARSER = argparse.ArgumentParser() PARSER.add_argument('name', default="documentation cache", nargs="?") if __name__ == "__main__": opts = PARSER.parse_args() print(opts) diffsdir = 'diffs' os.makedirs(diffsdir, exist_ok=True) res = 0 try: subprocess.check_call(['git', 'diff', '--quiet']) except subprocess.CalledProcessError: diffname = os.path.join(diffsdir, f"{opts.name.replace(' ', '_')}.diff") res += 1 with open(diffname, 'w') as diff: subprocess.check_call(['git', 'diff'], stdout=diff) print(f'\033[91mYou have a diff in the {opts.name}. Please update with:\033[0m') print(' $ curl %s/%s | git apply -' % (os.environ.get('CI_ARTIFACTS_URL', "NOT_RUNNING_ON_CI"), diffname.replace('../', ''))) if res != 0: print('(note that it might take a few minutes for artefacts to be available on the server)\n') sys.exit(res)