1
0
mirror of https://github.com/balkian/pre-commit-hooks.git synced 2024-11-14 20:22:29 +00:00
pre-commit-hooks/balkian_pre_commit/branchversion.py

27 lines
940 B
Python
Raw Normal View History

2017-01-10 14:12:52 +00:00
import argparse
import semver
import os
from subprocess import check_output
def main(argv=None):
parser = argparse.ArgumentParser()
parser.add_argument('filenames', nargs='*')
args = parser.parse_args(argv)
branch_name = check_output(['git', 'rev-parse', '--abbrev-ref', 'HEAD']).strip().decode()
error = 1
2017-01-10 14:16:56 +00:00
for fn in args.filenames:
with open(fn) as f:
currentcontent = f.read().strip()
prevcontent = check_output(['git', 'show', 'HEAD:{}'.format(fn)]).strip().decode()
current = semver.parse_version_info(currentcontent)
print('Checking versions: {} -> {}'.format(prevcontent, currentcontent))
if (branch_name == 'master' and current.prerelease) or\
(semver.compare(currentcontent, prevcontent)<1):
return 1
else:
error = 0
return error
2017-01-10 14:16:56 +00:00
2017-01-10 14:12:52 +00:00
if __name__ == '__main__':
exit(main())