mirror of
https://github.com/balkian/pre-commit-hooks.git
synced 2024-11-14 04:02:29 +00:00
Fixed installation issues
This commit is contained in:
parent
2ac8641f06
commit
ec1d9b8be6
@ -1,4 +1,4 @@
|
||||
include requirements.txt
|
||||
include test-requirements.txt
|
||||
include README.md
|
||||
include balkian-pre-commit/VERSION
|
||||
include balkian_pre_commit/VERSION
|
||||
|
@ -18,18 +18,21 @@ pro-commit hooks for various projects
|
||||
"""
|
||||
|
||||
from __future__ import print_function
|
||||
import semver
|
||||
from .version import __version__
|
||||
|
||||
__version_info__ = semver.parse_version_info(__version__)
|
||||
try:
|
||||
import semver
|
||||
__version_info__ = semver.parse_version_info(__version__)
|
||||
|
||||
if __version_info__.prerelease:
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
msg = 'WARNING: You are using a pre-release version of {} ({})'.format(
|
||||
__name__, __version__)
|
||||
if len(logging.root.handlers) > 0:
|
||||
logger.info(msg)
|
||||
else:
|
||||
import sys
|
||||
print(msg, file=sys.stderr)
|
||||
if __version_info__.prerelease:
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
msg = 'WARNING: You are using a pre-release version of {} ({})'.format(
|
||||
__name__, __version__)
|
||||
if len(logging.root.handlers) > 0:
|
||||
logger.info(msg)
|
||||
else:
|
||||
import sys
|
||||
print(msg, file=sys.stderr)
|
||||
except ImportError:
|
||||
print('semver not installed, not doing version checking')
|
||||
|
@ -8,14 +8,17 @@ def main(argv=None):
|
||||
parser.add_argument('filenames', nargs='*')
|
||||
args = parser.parse_args(argv)
|
||||
branch_name = check_output(['git', 'rev-parse', '--abbrev-ref', 'HEAD']).strip().decode()
|
||||
if branch_name == 'master':
|
||||
for fn in args.filenames:
|
||||
if os.path.basename(fn) == 'VERSION':
|
||||
with open(fn) as f:
|
||||
version = semver.parse_version_info(f.read())
|
||||
if version.prerelease:
|
||||
return 1
|
||||
for fn in args.filenames:
|
||||
if os.path.basename(fn) == 'VERSION':
|
||||
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
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
exit(main())
|
||||
|
@ -3,4 +3,4 @@
|
||||
description: This hook avoids commiting a pre-release to a master branch.
|
||||
entry: branchversion
|
||||
language: python
|
||||
files: VERSION$
|
||||
files: "VERSION$"
|
Loading…
Reference in New Issue
Block a user