1
0
mirror of https://github.com/balkian/pre-commit-hooks.git synced 2024-11-21 23:12:28 +00:00

Fixed installation issues

This commit is contained in:
J. Fernando Sánchez 2017-01-10 15:16:56 +01:00
parent 2ac8641f06
commit ec1d9b8be6
4 changed files with 28 additions and 22 deletions

View File

@ -1,4 +1,4 @@
include requirements.txt include requirements.txt
include test-requirements.txt include test-requirements.txt
include README.md include README.md
include balkian-pre-commit/VERSION include balkian_pre_commit/VERSION

View File

@ -18,18 +18,21 @@ pro-commit hooks for various projects
""" """
from __future__ import print_function from __future__ import print_function
import semver
from .version import __version__ 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: if __version_info__.prerelease:
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
msg = 'WARNING: You are using a pre-release version of {} ({})'.format( msg = 'WARNING: You are using a pre-release version of {} ({})'.format(
__name__, __version__) __name__, __version__)
if len(logging.root.handlers) > 0: if len(logging.root.handlers) > 0:
logger.info(msg) logger.info(msg)
else: else:
import sys import sys
print(msg, file=sys.stderr) print(msg, file=sys.stderr)
except ImportError:
print('semver not installed, not doing version checking')

View File

@ -8,13 +8,16 @@ def main(argv=None):
parser.add_argument('filenames', nargs='*') parser.add_argument('filenames', nargs='*')
args = parser.parse_args(argv) args = parser.parse_args(argv)
branch_name = check_output(['git', 'rev-parse', '--abbrev-ref', 'HEAD']).strip().decode() branch_name = check_output(['git', 'rev-parse', '--abbrev-ref', 'HEAD']).strip().decode()
if branch_name == 'master': for fn in args.filenames:
for fn in args.filenames: if os.path.basename(fn) == 'VERSION':
if os.path.basename(fn) == 'VERSION': with open(fn) as f:
with open(fn) as f: currentcontent = f.read().strip()
version = semver.parse_version_info(f.read()) prevcontent = check_output(['git', 'show', 'HEAD:{}'.format(fn)]).strip().decode()
if version.prerelease: current = semver.parse_version_info(currentcontent)
return 1 print('Checking versions: {} -> {}'.format(prevcontent, currentcontent))
if (branch_name == 'master' and current.prerelease) or\
(semver.compare(currentcontent, prevcontent)<1):
return 1
return 0 return 0
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -3,4 +3,4 @@
description: This hook avoids commiting a pre-release to a master branch. description: This hook avoids commiting a pre-release to a master branch.
entry: branchversion entry: branchversion
language: python language: python
files: VERSION$ files: "VERSION$"