mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-17 08:14:42 +04:00
Add option to run from alternate config file
This commit is contained in:
parent
da3458cd25
commit
f1c00eefe4
2 changed files with 15 additions and 5 deletions
|
|
@ -34,6 +34,10 @@ def _add_color_option(parser):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def _add_config_option(parser):
|
||||||
|
parser.add_argument('-c', '--config', help='Path to alternate config file')
|
||||||
|
|
||||||
|
|
||||||
def main(argv=None):
|
def main(argv=None):
|
||||||
argv = argv if argv is not None else sys.argv[1:]
|
argv = argv if argv is not None else sys.argv[1:]
|
||||||
argv = [five.to_text(arg) for arg in argv]
|
argv = [five.to_text(arg) for arg in argv]
|
||||||
|
|
@ -89,6 +93,7 @@ def main(argv=None):
|
||||||
help="Auto-update pre-commit config to the latest repos' versions.",
|
help="Auto-update pre-commit config to the latest repos' versions.",
|
||||||
)
|
)
|
||||||
_add_color_option(autoupdate_parser)
|
_add_color_option(autoupdate_parser)
|
||||||
|
_add_config_option(autoupdate_parser)
|
||||||
|
|
||||||
run_parser = subparsers.add_parser('run', help='Run hooks.')
|
run_parser = subparsers.add_parser('run', help='Run hooks.')
|
||||||
_add_color_option(run_parser)
|
_add_color_option(run_parser)
|
||||||
|
|
@ -119,6 +124,7 @@ def main(argv=None):
|
||||||
'--hook-stage', choices=('commit', 'push'), default='commit',
|
'--hook-stage', choices=('commit', 'push'), default='commit',
|
||||||
help='The stage during which the hook is fired e.g. commit or push.',
|
help='The stage during which the hook is fired e.g. commit or push.',
|
||||||
)
|
)
|
||||||
|
_add_config_option(run_parser)
|
||||||
run_mutex_group = run_parser.add_mutually_exclusive_group(required=False)
|
run_mutex_group = run_parser.add_mutually_exclusive_group(required=False)
|
||||||
run_mutex_group.add_argument(
|
run_mutex_group.add_argument(
|
||||||
'--all-files', '-a', action='store_true', default=False,
|
'--all-files', '-a', action='store_true', default=False,
|
||||||
|
|
@ -152,7 +158,10 @@ def main(argv=None):
|
||||||
|
|
||||||
with error_handler():
|
with error_handler():
|
||||||
add_logging_handler(args.color)
|
add_logging_handler(args.color)
|
||||||
runner = Runner.create()
|
runner_kwargs = {}
|
||||||
|
if hasattr(args, 'config_file'):
|
||||||
|
runner_kwargs['config_file'] = args.config_file
|
||||||
|
runner = Runner.create(**runner_kwargs)
|
||||||
git.check_for_cygwin_mismatch()
|
git.check_for_cygwin_mismatch()
|
||||||
|
|
||||||
if args.command == 'install':
|
if args.command == 'install':
|
||||||
|
|
|
||||||
|
|
@ -16,18 +16,19 @@ class Runner(object):
|
||||||
repository under test.
|
repository under test.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, git_root):
|
def __init__(self, git_root, config_file=None):
|
||||||
self.git_root = git_root
|
self.git_root = git_root
|
||||||
|
self.config_file = config_file or C.CONFIG_FILE
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(cls):
|
def create(cls, config_file=None):
|
||||||
"""Creates a PreCommitRunner by doing the following:
|
"""Creates a PreCommitRunner by doing the following:
|
||||||
- Finds the root of the current git repository
|
- Finds the root of the current git repository
|
||||||
- chdir to that directory
|
- chdir to that directory
|
||||||
"""
|
"""
|
||||||
root = git.get_root()
|
root = git.get_root()
|
||||||
os.chdir(root)
|
os.chdir(root)
|
||||||
return cls(root)
|
return cls(root, config_file=config_file)
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def git_dir(self):
|
def git_dir(self):
|
||||||
|
|
@ -35,7 +36,7 @@ class Runner(object):
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def config_file_path(self):
|
def config_file_path(self):
|
||||||
return os.path.join(self.git_root, C.CONFIG_FILE)
|
return os.path.join(self.git_root, self.config_file)
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def repositories(self):
|
def repositories(self):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue