def create(cls, config, store): if is_local_repo(config): return LocalRepository(config, store) elif is_meta_repo(config): return MetaRepository(config, store) else: return cls(config, store)
def autoupdate(runner, tags_only, repos=()): """Auto-update the pre-commit config to the latest versions of repos.""" migrate_config(runner, quiet=True) retv = 0 output_repos = [] changed = False input_config = load_config(runner.config_file_path) for repo_config in input_config['repos']: if ( is_local_repo(repo_config) or is_meta_repo(repo_config) or # Skip updating any repo_configs that aren't for the specified repo repos and repo_config['repo'] not in repos ): output_repos.append(repo_config) continue output.write('Updating {}...'.format(repo_config['repo'])) try: new_repo_config = _update_repo(repo_config, runner, tags_only) except RepositoryCannotBeUpdatedError as error: output.write_line(error.args[0]) output_repos.append(repo_config) retv = 1 continue if new_repo_config['rev'] != repo_config['rev']: changed = True output.write_line('updating {} -> {}.'.format( repo_config['rev'], new_repo_config['rev'], )) output_repos.append(new_repo_config) else: output.write_line('already up to date.') output_repos.append(repo_config) if changed: output_config = input_config.copy() output_config['repos'] = output_repos _write_new_config_file(runner.config_file_path, output_config) return retv
def autoupdate(runner, tags_only): """Auto-update the pre-commit config to the latest versions of repos.""" retv = 0 output_configs = [] changed = False input_configs = load_config( runner.config_file_path, load_strategy=ordered_load, ) for repo_config in input_configs: if is_local_repo(repo_config): output_configs.append(repo_config) continue output.write('Updating {}...'.format(repo_config['repo'])) try: new_repo_config = _update_repo(repo_config, runner, tags_only) except RepositoryCannotBeUpdatedError as error: output.write_line(error.args[0]) output_configs.append(repo_config) retv = 1 continue if new_repo_config['sha'] != repo_config['sha']: changed = True output.write_line('updating {} -> {}.'.format( repo_config['sha'], new_repo_config['sha'], )) output_configs.append(new_repo_config) else: output.write_line('already up to date.') output_configs.append(repo_config) if changed: with open(runner.config_file_path, 'w') as config_file: config_file.write(ordered_dump( remove_defaults(output_configs, CONFIG_SCHEMA), **C.YAML_DUMP_KWARGS )) return retv
def autoupdate(runner, tags_only): """Auto-update the pre-commit config to the latest versions of repos.""" retv = 0 output_configs = [] changed = False input_configs = load_config( runner.config_file_path, load_strategy=ordered_load, ) for repo_config in input_configs: if is_local_repo(repo_config): output_configs.append(repo_config) continue output.write('Updating {}...'.format(repo_config['repo'])) try: new_repo_config = _update_repo(repo_config, runner, tags_only) except RepositoryCannotBeUpdatedError as error: output.write_line(error.args[0]) output_configs.append(repo_config) retv = 1 continue if new_repo_config['sha'] != repo_config['sha']: changed = True output.write_line('updating {} -> {}.'.format( repo_config['sha'], new_repo_config['sha'], )) output_configs.append(new_repo_config) else: output.write_line('already up to date.') output_configs.append(repo_config) if changed: with open(runner.config_file_path, 'w') as config_file: config_file.write( ordered_dump(remove_defaults(output_configs, CONFIG_SCHEMA), **C.YAML_DUMP_KWARGS)) return retv
def autoupdate(runner, tags_only): """Auto-update the pre-commit config to the latest versions of repos.""" migrate_config(runner, quiet=True) retv = 0 output_repos = [] changed = False input_config = load_config(runner.config_file_path) for repo_config in input_config['repos']: if is_local_repo(repo_config): output_repos.append(repo_config) continue output.write('Updating {}...'.format(repo_config['repo'])) try: new_repo_config = _update_repo(repo_config, runner, tags_only) except RepositoryCannotBeUpdatedError as error: output.write_line(error.args[0]) output_repos.append(repo_config) retv = 1 continue if new_repo_config['sha'] != repo_config['sha']: changed = True output.write_line('updating {} -> {}.'.format( repo_config['sha'], new_repo_config['sha'], )) output_repos.append(new_repo_config) else: output.write_line('already up to date.') output_repos.append(repo_config) if changed: output_config = input_config.copy() output_config['repos'] = output_repos _write_new_config_file(runner.config_file_path, output_config) return retv
def test_is_local_repo(): assert is_local_repo({'repo': 'local'})
def create(cls, config, store): if is_local_repo(config): return LocalRepository(config, store) else: return cls(config, store)
def test_is_local_repo(): assert is_local_repo({'repo': 'local'})