#!/usr/bin/env python # Update the coverity branch from the master branch. # It is not done automatically because Coverity Scan limits # the number of submissions per day. from __future__ import print_function import shutil, tempfile from subprocess import check_output, STDOUT class Git: def __init__(self, dir): self.dir = dir def __call__(self, *args): output = check_output(['git'] + list(args), cwd=self.dir, stderr=STDOUT) print(output) return output dir = tempfile.mkdtemp() try: git = Git(dir) git('clone', '-b', 'coverity', 'git@github.com:fmtlib/fmt.git', dir) output = git('merge', '-X', 'theirs', '--no-commit', 'origin/master') if 'Fast-forward' not in output: git('reset', 'HEAD', '.travis.yml') git('checkout', '--', '.travis.yml') git('commit', '-m', 'Update coverity branch') git('push') finally: shutil.rmtree(dir)