MCPcopy Index your code
hub / github.com/pre-commit/pre-commit / _mark_used_repos

Function _mark_used_repos

pre_commit/commands/gc.py:18–58  ·  view source on GitHub ↗
(
        store: Store,
        all_repos: dict[tuple[str, str], str],
        unused_repos: set[tuple[str, str]],
        repo: dict[str, Any],
)

Source from the content-addressed store, hash-verified

16
17
18def _mark_used_repos(
19 store: Store,
20 all_repos: dict[tuple[str, str], str],
21 unused_repos: set[tuple[str, str]],
22 repo: dict[str, Any],
23) -> None:
24 if repo['repo'] == META:
25 return
26 elif repo['repo'] == LOCAL:
27 for hook in repo['hooks']:
28 deps = hook.get('additional_dependencies')
29 unused_repos.discard((
30 store.db_repo_name(repo['repo'], deps),
31 C.LOCAL_REPO_VERSION,
32 ))
33 else:
34 key = (repo['repo'], repo['rev'])
35 path = all_repos.get(key)
36 # can't inspect manifest if it isn't cloned
37 if path is None:
38 return
39
40 try:
41 manifest = load_manifest(os.path.join(path, C.MANIFEST_FILE))
42 except InvalidManifestError:
43 return
44 else:
45 unused_repos.discard(key)
46 by_id = {hook['id']: hook for hook in manifest}
47
48 for hook in repo['hooks']:
49 if hook['id'] not in by_id:
50 continue
51
52 deps = hook.get(
53 'additional_dependencies',
54 by_id[hook['id']]['additional_dependencies'],
55 )
56 unused_repos.discard((
57 store.db_repo_name(repo['repo'], deps), repo['rev'],
58 ))
59
60
61def _gc(store: Store) -> int:

Callers 1

_gcFunction · 0.85

Calls 2

db_repo_nameMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected