gstreamer/scripts/check-commits.py

20 lines
801 B
Python
Executable file

#!/usr/bin/env python3
import subprocess
import sys
import argparse
def run_pre_commit(start_commit:str):
if start_commit == 'HEAD':
start_commit = 'HEAD~1'
try:
subprocess.run(['git', 'rebase', start_commit, '--exec', f"pre-commit run --from-ref HEAD~1 --to-ref HEAD"])
except subprocess.CalledProcessError as e:
print(f'pre-commit failed with exit code {e.returncode}.')
sys.exit(1)
if __name__ == '__main__':
parser = argparse.ArgumentParser(description="Checks a range of commits one by one with pre-commit.")
parser.add_argument('start_commit', nargs='?', default='HEAD~1', type=str,
help='Initial commit (refspec) to start the check.')
args = parser.parse_args()
run_pre_commit(args.start_commit or 'HEAD~1')