if len(local_state):
raise Exception("Something went wrong getting the local state of {}.".format(ref))
local_sha = git_nullsha
- assert local_sha in (oldsha, newsha), "Someone lied about the old SHA."
+ # some sanity checking, but deal gracefully with new branches appearing
+ assert local_sha in (git_nullsha, oldsha, newsha), "Someone lied about the old SHA: Local ({}) is neither old ({}) nor new ({})".format(local_sha, oldsha, newsha)
# if we are already at newsha locally, we also ran the local hooks, so we do not have to do anything
if local_sha == newsha:
return "Local repository is already up-to-date."
shutil.copy(config_file, config_file+".bak")
with open(config_file, 'a') as f:
f.write('\n[{}]\n'.format(args.name))
- f.write('owner={}\n'.format(args.owner))
+ f.write('owner={}\n'.format(args.email))
f.write('local={}\n'.format(args.local))
f.write('deploy-key={}\n'.format(os.path.basename(ssh_deploy_key)))
f.write('hmac-secret={}\n'.format(hmac_secret))