mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-25 07:26:29 +00:00
21 lines
801 B
Python
21 lines
801 B
Python
|
#!/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')
|