#!/usr/bin/env python import os import sys import subprocess import pylibmc import traceback from humbug_tools import check_output # Color codes OKBLUE = '\033[94m' OKGREEN = '\033[92m' WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' os.chdir("/home/humbug/humbug") if len(sys.argv) > 1: oldrev = sys.argv[1] newrev = sys.argv[2] refname = sys.argv[3] subprocess.check_call(["git", "fetch"], stdout=open('/dev/null', 'w')) subprocess.check_call(["git", "reset", "--hard", refname], stdout=open('/dev/null', 'w')) subprocess.check_call(["./tools/restart-server"]) if newrev == '0000000000000000000000000000000000000000': # 0000000000000000000000000000000000000000 means we're deleting the ref commits = '' else: commits = check_output(["git", "log", "%s..%s" % (oldrev, newrev)]) if '[schema]' in commits: print print FAIL + "Schema change detected! Please make the appropriate changes manually." + ENDC print