pre_commit_mirror_maker_2 1.10.0.2__tar.gz → 1.12.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/PKG-INFO +4 -1
  2. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/README.md +1 -0
  3. pre_commit_mirror_maker_2-1.12.0.0/pre_commit_mirror_maker/golang/go.mod +3 -0
  4. pre_commit_mirror_maker_2-1.12.0.0/pre_commit_mirror_maker/golang/go.sum +0 -0
  5. pre_commit_mirror_maker_2-1.12.0.0/pre_commit_mirror_maker/golang/main.go +3 -0
  6. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker/languages.py +24 -0
  7. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker/main.py +6 -0
  8. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker/make_repo.py +20 -2
  9. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker_2.egg-info/PKG-INFO +4 -1
  10. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker_2.egg-info/SOURCES.txt +3 -0
  11. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/setup.cfg +4 -1
  12. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/LICENSE +0 -0
  13. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker/__init__.py +0 -0
  14. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker/all/.pre-commit-hooks.yaml +0 -0
  15. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker/all/.version +0 -0
  16. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker/node/.npmignore +0 -0
  17. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker/node/package.json +0 -0
  18. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker/python/setup.py +0 -0
  19. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker/ruby/pre_commit_fake_gem.gemspec +0 -0
  20. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker/rust/Cargo.toml +0 -0
  21. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker/rust/main.rs +0 -0
  22. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker_2.egg-info/dependency_links.txt +0 -0
  23. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker_2.egg-info/entry_points.txt +0 -0
  24. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker_2.egg-info/requires.txt +0 -0
  25. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/pre_commit_mirror_maker_2.egg-info/top_level.txt +0 -0
  26. {pre_commit_mirror_maker_2-1.10.0.2 → pre_commit_mirror_maker_2-1.12.0.0}/setup.py +0 -0
@@ -1,10 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pre_commit_mirror_maker_2
3
- Version: 1.10.0.2
3
+ Version: 1.12.0.0
4
4
  Summary: Fork of pre-commit-mirror-maker
5
5
  Home-page: https://github.com/GideonBear/pre-commit-mirror-maker-2
6
6
  Author: Anthony Sottile
7
7
  Author-email: asottile@umich.edu
8
+ Maintainer: GideonBear
9
+ Maintainer-email: dig-sultry-sedate@duck.com
8
10
  License: MIT
9
11
  Platform: all
10
12
  Classifier: Programming Language :: Python :: 3
@@ -30,6 +32,7 @@ This is a fork of [pre-commit-mirror-maker](https://github.com/pre-commit/pre-co
30
32
  features, including:
31
33
 
32
34
  * Adding support for `always_run: true` and `pass_filenames: false`
35
+ * Add `--skip-existing` which skips existing tags
33
36
 
34
37
  ### Installation
35
38
 
@@ -11,6 +11,7 @@ This is a fork of [pre-commit-mirror-maker](https://github.com/pre-commit/pre-co
11
11
  features, including:
12
12
 
13
13
  * Adding support for `always_run: true` and `pass_filenames: false`
14
+ * Add `--skip-existing` which skips existing tags
14
15
 
15
16
  ### Installation
16
17
 
@@ -0,0 +1,3 @@
1
+ module github.com/pre-commit/placeholder
2
+
3
+ go 1.19
@@ -0,0 +1,3 @@
1
+ package main
2
+
3
+ func main() {{}}
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import json
4
+ import re
4
5
  import subprocess
5
6
  import urllib.request
6
7
 
@@ -33,6 +34,21 @@ def rust_get_package_versions(package_name: str) -> list[str]:
33
34
  return list(reversed([version['num'] for version in resp['versions']]))
34
35
 
35
36
 
37
+ def golang_get_package_versions(package_name: str) -> list[str]:
38
+ # https://pkg.go.dev/golang.org/x/mod/module#EscapePath
39
+ # https://github.com/golang/mod/blob/d271cf332fd221d661d13b186b51a11d7e66ff74/module/module.go#L707
40
+ escaped = re.sub(
41
+ r'[A-Z]',
42
+ lambda m: f'!{m.group(0).lower()}', package_name,
43
+ )
44
+ url = f'https://proxy.golang.org/{escaped}/@v/list'
45
+ resp = urllib.request.urlopen(url).read().decode()
46
+ return sorted(
47
+ (v.removeprefix('v') for v in resp.splitlines()),
48
+ key=version.parse,
49
+ )
50
+
51
+
36
52
  def node_get_additional_dependencies(
37
53
  package_name: str, package_version: str,
38
54
  ) -> list[str]:
@@ -45,7 +61,14 @@ def rust_get_additional_dependencies(
45
61
  return [f'cli:{package_name}:{package_version}']
46
62
 
47
63
 
64
+ def golang_get_additional_dependencies(
65
+ package_name: str, package_version: str,
66
+ ) -> list[str]:
67
+ return [f'{package_name}@v{package_version}']
68
+
69
+
48
70
  LIST_VERSIONS = {
71
+ 'golang': golang_get_package_versions,
49
72
  'node': node_get_package_versions,
50
73
  'python': python_get_package_versions,
51
74
  'ruby': ruby_get_package_versions,
@@ -53,6 +76,7 @@ LIST_VERSIONS = {
53
76
  }
54
77
 
55
78
  ADDITIONAL_DEPENDENCIES = {
79
+ 'golang': golang_get_additional_dependencies,
56
80
  'node': node_get_additional_dependencies,
57
81
  'rust': rust_get_additional_dependencies,
58
82
  }
@@ -33,6 +33,11 @@ def main(argv: Sequence[str] | None = None) -> int:
33
33
  'repo_path',
34
34
  help='Local path where the git repo is checked out.',
35
35
  )
36
+ parser.add_argument(
37
+ '--skip-existing', action='store_true',
38
+ help='Skip tagging versions for which a tag already exists. '
39
+ 'Useful for converting existing mirrors to use this tool.',
40
+ )
36
41
  parser.add_argument(
37
42
  '--language', required=True, choices=LIST_VERSIONS,
38
43
  help='Which language to use.',
@@ -109,6 +114,7 @@ def main(argv: Sequence[str] | None = None) -> int:
109
114
  make_repo(
110
115
  args.repo_path,
111
116
  name=args.package_name,
117
+ skip_existing=args.skip_existing,
112
118
  description=args.description,
113
119
  language=args.language,
114
120
  entry=args.entry or args.package_name,
@@ -43,6 +43,7 @@ def _commit_version(
43
43
  repo: str, *,
44
44
  language: str,
45
45
  version: str,
46
+ skip_existing: bool,
46
47
  **fmt_vars: str,
47
48
  ) -> None:
48
49
  # 'all' writes the .version and .pre-commit-hooks.yaml files
@@ -68,10 +69,26 @@ def _commit_version(
68
69
  # Commit and tag
69
70
  git('add', '.')
70
71
  git('commit', '-m', f'Mirror: {version}')
71
- git('tag', f'v{version}')
72
+ try:
73
+ git('tag', f'v{version}')
74
+ except subprocess.CalledProcessError as err:
75
+ if err.returncode == 128 and skip_existing:
76
+ print(
77
+ f'Tag v{version} already exists, '
78
+ 'skipping tagging step due to --skip-existing',
79
+ )
80
+ else:
81
+ raise
72
82
 
73
83
 
74
- def make_repo(repo: str, *, language: str, name: str, **fmt_vars: str) -> None:
84
+ def make_repo(
85
+ repo: str,
86
+ *,
87
+ language: str,
88
+ name: str,
89
+ skip_existing: bool,
90
+ **fmt_vars: str,
91
+ ) -> None:
75
92
  assert os.path.exists(os.path.join(repo, '.git')), repo
76
93
 
77
94
  package_versions = LIST_VERSIONS[language](name)
@@ -97,6 +114,7 @@ def make_repo(repo: str, *, language: str, name: str, **fmt_vars: str) -> None:
97
114
  name=name,
98
115
  language=language,
99
116
  version=version,
117
+ skip_existing=skip_existing,
100
118
  additional_dependencies=json.dumps(additional_dependencies),
101
119
  **fmt_vars,
102
120
  )
@@ -1,10 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pre_commit_mirror_maker_2
3
- Version: 1.10.0.2
3
+ Version: 1.12.0.0
4
4
  Summary: Fork of pre-commit-mirror-maker
5
5
  Home-page: https://github.com/GideonBear/pre-commit-mirror-maker-2
6
6
  Author: Anthony Sottile
7
7
  Author-email: asottile@umich.edu
8
+ Maintainer: GideonBear
9
+ Maintainer-email: dig-sultry-sedate@duck.com
8
10
  License: MIT
9
11
  Platform: all
10
12
  Classifier: Programming Language :: Python :: 3
@@ -30,6 +32,7 @@ This is a fork of [pre-commit-mirror-maker](https://github.com/pre-commit/pre-co
30
32
  features, including:
31
33
 
32
34
  * Adding support for `always_run: true` and `pass_filenames: false`
35
+ * Add `--skip-existing` which skips existing tags
33
36
 
34
37
  ### Installation
35
38
 
@@ -8,6 +8,9 @@ pre_commit_mirror_maker/main.py
8
8
  pre_commit_mirror_maker/make_repo.py
9
9
  pre_commit_mirror_maker/all/.pre-commit-hooks.yaml
10
10
  pre_commit_mirror_maker/all/.version
11
+ pre_commit_mirror_maker/golang/go.mod
12
+ pre_commit_mirror_maker/golang/go.sum
13
+ pre_commit_mirror_maker/golang/main.go
11
14
  pre_commit_mirror_maker/node/.npmignore
12
15
  pre_commit_mirror_maker/node/package.json
13
16
  pre_commit_mirror_maker/python/setup.py
@@ -1,12 +1,14 @@
1
1
  [metadata]
2
2
  name = pre_commit_mirror_maker_2
3
- version = 1.10.0.2
3
+ version = 1.12.0.0
4
4
  description = Fork of pre-commit-mirror-maker
5
5
  long_description = file: README.md
6
6
  long_description_content_type = text/markdown
7
7
  url = https://github.com/GideonBear/pre-commit-mirror-maker-2
8
8
  author = Anthony Sottile
9
9
  author_email = asottile@umich.edu
10
+ maintainer = GideonBear
11
+ maintainer_email = dig-sultry-sedate@duck.com
10
12
  license = MIT
11
13
  license_files = LICENSE
12
14
  platforms = all
@@ -35,6 +37,7 @@ console_scripts =
35
37
  pre_commit_mirror_maker =
36
38
  all/.pre-commit-hooks.yaml
37
39
  all/.version
40
+ golang/*
38
41
  node/.npmignore
39
42
  node/*
40
43
  python/*