mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-19 09:04:41 +04:00
Add OrderedDict dependency. Make sure hooks are run in a deterministic order
This commit is contained in:
parent
dc1494d0e7
commit
254655e2fd
3 changed files with 28 additions and 8 deletions
10
pre_commit/ordereddict.py
Normal file
10
pre_commit/ordereddict.py
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
from __future__ import absolute_import
|
||||||
|
|
||||||
|
# This module serves only as a shim for OrderedDict
|
||||||
|
|
||||||
|
try:
|
||||||
|
from collections import OrderedDict
|
||||||
|
except ImportError:
|
||||||
|
from orderddict import OrderedDict
|
||||||
|
|
||||||
|
__all__ = (OrderedDict.__name__,)
|
||||||
|
|
@ -6,6 +6,7 @@ import pre_commit.constants as C
|
||||||
from pre_commit.clientlib.validate_manifest import validate_manifest
|
from pre_commit.clientlib.validate_manifest import validate_manifest
|
||||||
from pre_commit.hooks_workspace import in_hooks_workspace
|
from pre_commit.hooks_workspace import in_hooks_workspace
|
||||||
from pre_commit.languages.all import languages
|
from pre_commit.languages.all import languages
|
||||||
|
from pre_commit.ordereddict import OrderedDict
|
||||||
from pre_commit.util import cached_property
|
from pre_commit.util import cached_property
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -29,7 +30,7 @@ class Repository(object):
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def hooks(self):
|
def hooks(self):
|
||||||
return dict(
|
return OrderedDict(
|
||||||
(hook['id'], dict(hook, **self.manifest[hook['id']]))
|
(hook['id'], dict(hook, **self.manifest[hook['id']]))
|
||||||
for hook in self.repo_config['hooks']
|
for hook in self.repo_config['hooks']
|
||||||
)
|
)
|
||||||
|
|
|
||||||
23
setup.py
23
setup.py
|
|
@ -1,6 +1,21 @@
|
||||||
|
import sys
|
||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
|
|
||||||
|
|
||||||
|
install_requires = [
|
||||||
|
'argparse',
|
||||||
|
'jsonschema',
|
||||||
|
'plumbum',
|
||||||
|
'pyyaml',
|
||||||
|
'simplejson',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
if sys.version_info < (2, 7):
|
||||||
|
install_requires.append('ordereddict')
|
||||||
|
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='pre_commit',
|
name='pre_commit',
|
||||||
version='0.0.0',
|
version='0.0.0',
|
||||||
|
|
@ -10,13 +25,7 @@ setup(
|
||||||
'resources/pre-commit.sh'
|
'resources/pre-commit.sh'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
install_requires=[
|
install_requires=install_requires,
|
||||||
'argparse',
|
|
||||||
'jsonschema',
|
|
||||||
'plumbum',
|
|
||||||
'pyyaml',
|
|
||||||
'simplejson',
|
|
||||||
],
|
|
||||||
entry_points={
|
entry_points={
|
||||||
'console_scripts': [
|
'console_scripts': [
|
||||||
'pre-commit = pre_commit.run:run',
|
'pre-commit = pre_commit.run:run',
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue