mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-12 01:05:47 +00:00
20 lines
801 B
Python
Executable file
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')
|