gitman 3.8__tar.gz → 3.9__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.
- {gitman-3.8 → gitman-3.9}/PKG-INFO +6 -4
- {gitman-3.8 → gitman-3.9}/README.md +1 -0
- {gitman-3.8 → gitman-3.9}/gitman/git.py +17 -1
- {gitman-3.8 → gitman-3.9}/gitman/models/source.py +5 -3
- {gitman-3.8 → gitman-3.9}/pyproject.toml +14 -13
- {gitman-3.8 → gitman-3.9}/LICENSE.md +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/__init__.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/__main__.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/cli.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/commands.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/common.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/decorators.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/exceptions.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/hook-gitman.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/models/__init__.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/models/config.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/models/group.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/plugin.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/settings.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/shell.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/__init__.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/conftest.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/files/gdm-custom.yml +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/files/gdm-default.yml +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/files/gitman.yml +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/files/subdir/gitman.yml +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/files/subdir/subsubdir/gitman.yml +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/files/subdir/subsubdir/skip/subsubsubsubdir/gitman.yml +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/test_cli.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/test_commands.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/test_common.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/test_git.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/test_models_config.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/test_models_group.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/test_models_source.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/test_plugin.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/test_shell.py +0 -0
- {gitman-3.8 → gitman-3.9}/gitman/tests/utils.py +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitman
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.9
|
|
4
4
|
Summary: A language-agnostic dependency manager using Git.
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE.md
|
|
7
7
|
Keywords: git,version control,build systems,dependency management,submodules
|
|
8
8
|
Author: Jace Browning
|
|
9
9
|
Author-email: jacebrowning@gmail.com
|
|
10
|
-
Requires-Python: >=3.
|
|
10
|
+
Requires-Python: >=3.11,<4.0
|
|
11
11
|
Classifier: Development Status :: 5 - Production/Stable
|
|
12
12
|
Classifier: Environment :: Console
|
|
13
13
|
Classifier: Intended Audience :: Developers
|
|
@@ -16,17 +16,18 @@ Classifier: Natural Language :: English
|
|
|
16
16
|
Classifier: Operating System :: OS Independent
|
|
17
17
|
Classifier: Programming Language :: Python
|
|
18
18
|
Classifier: Programming Language :: Python :: 3
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.14
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
24
24
|
Classifier: Topic :: Software Development
|
|
25
25
|
Classifier: Topic :: Software Development :: Build Tools
|
|
26
26
|
Classifier: Topic :: Software Development :: Version Control
|
|
27
27
|
Classifier: Topic :: System :: Software Distribution
|
|
28
|
-
Requires-Dist: datafiles (>=2.
|
|
28
|
+
Requires-Dist: datafiles (>=2.6,<3.0)
|
|
29
29
|
Requires-Dist: minilog (>=2.3.1,<3.0.0)
|
|
30
|
+
Requires-Dist: regex (>=2026.5.9)
|
|
30
31
|
Requires-Dist: universal-startfile (>=0.2,<0.5)
|
|
31
32
|
Project-URL: Documentation, https://gitman.readthedocs.io
|
|
32
33
|
Project-URL: Homepage, https://pypi.org/project/gitman
|
|
@@ -62,6 +63,7 @@ Install this tool globally with [pipx](https://pipxproject.github.io/pipx/) (or
|
|
|
62
63
|
```sh
|
|
63
64
|
$ pipx install gitman
|
|
64
65
|
```
|
|
66
|
+
|
|
65
67
|
or add it to your [Poetry](https://python-poetry.org/docs/) project:
|
|
66
68
|
|
|
67
69
|
```sh
|
|
@@ -12,6 +12,11 @@ from .exceptions import ShellError
|
|
|
12
12
|
from .shell import call, pwd
|
|
13
13
|
|
|
14
14
|
|
|
15
|
+
def sanitize_sparse_paths(sparse_paths):
|
|
16
|
+
"""Strip trailing glob patterns for cone mode (e.g. 'src/*' -> 'src')."""
|
|
17
|
+
return [p.rstrip("/*") if p.endswith("/*") else p for p in sparse_paths]
|
|
18
|
+
|
|
19
|
+
|
|
15
20
|
def git(*args, **kwargs):
|
|
16
21
|
return call("git", *args, **kwargs)
|
|
17
22
|
|
|
@@ -69,7 +74,13 @@ def clone(
|
|
|
69
74
|
fd.write("%s/objects" % sparse_paths_repo)
|
|
70
75
|
|
|
71
76
|
git("-C", normpath, "sparse-checkout", "init", "--cone")
|
|
72
|
-
git(
|
|
77
|
+
git(
|
|
78
|
+
"-C",
|
|
79
|
+
normpath,
|
|
80
|
+
"sparse-checkout",
|
|
81
|
+
"set",
|
|
82
|
+
*sanitize_sparse_paths(sparse_paths)
|
|
83
|
+
)
|
|
73
84
|
git("-C", normpath, "fetch", "origin")
|
|
74
85
|
git("-C", normpath, "checkout", rev)
|
|
75
86
|
elif settings.CACHE_DISABLE:
|
|
@@ -245,6 +256,11 @@ def am(patch, _skip=False):
|
|
|
245
256
|
raise ShellError from e
|
|
246
257
|
|
|
247
258
|
|
|
259
|
+
def apply_sparse_checkout(sparse_paths):
|
|
260
|
+
"""Re-apply sparse-checkout paths to an existing working tree."""
|
|
261
|
+
git("sparse-checkout", "set", *sanitize_sparse_paths(sparse_paths))
|
|
262
|
+
|
|
263
|
+
|
|
248
264
|
def update(
|
|
249
265
|
type, repo, path, *, clean=True, fetch=False, rev=None
|
|
250
266
|
): # pylint: disable=redefined-outer-name,unused-argument
|
|
@@ -204,6 +204,10 @@ class Source:
|
|
|
204
204
|
if fetch or git.is_fetch_required(self.type, self.rev):
|
|
205
205
|
git.fetch(self.type, self.repo, self.name, rev=self.rev)
|
|
206
206
|
|
|
207
|
+
# Re-apply sparse-checkout paths in case they changed since initial clone
|
|
208
|
+
if self.sparse_paths and self.sparse_paths[0]:
|
|
209
|
+
git.apply_sparse_checkout(self.sparse_paths)
|
|
210
|
+
|
|
207
211
|
# Update the working tree to the desired revision
|
|
208
212
|
git.update(
|
|
209
213
|
self.type, self.repo, self.name, fetch=fetch, clean=clean, rev=self.rev
|
|
@@ -386,9 +390,7 @@ class Source:
|
|
|
386
390
|
|
|
387
391
|
Not a valid repository: {}
|
|
388
392
|
During install you can rebuild a repo with a missing .git directory using the --force option
|
|
389
|
-
""".format(
|
|
390
|
-
path
|
|
391
|
-
)
|
|
393
|
+
""".format(path)
|
|
392
394
|
return exceptions.InvalidRepository(msg)
|
|
393
395
|
|
|
394
396
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
|
|
3
3
|
name = "gitman"
|
|
4
|
-
version = "3.
|
|
4
|
+
version = "3.9"
|
|
5
5
|
description = "A language-agnostic dependency manager using Git."
|
|
6
6
|
|
|
7
7
|
license = "MIT"
|
|
@@ -30,11 +30,11 @@ classifiers = [
|
|
|
30
30
|
"Operating System :: OS Independent",
|
|
31
31
|
"Programming Language :: Python",
|
|
32
32
|
"Programming Language :: Python :: 3",
|
|
33
|
-
"Programming Language :: Python :: 3.10",
|
|
34
33
|
"Programming Language :: Python :: 3.11",
|
|
35
34
|
"Programming Language :: Python :: 3.12",
|
|
36
35
|
"Programming Language :: Python :: 3.13",
|
|
37
36
|
"Programming Language :: Python :: 3.14",
|
|
37
|
+
"Programming Language :: Python :: 3.15",
|
|
38
38
|
"Topic :: Software Development",
|
|
39
39
|
"Topic :: Software Development :: Build Tools",
|
|
40
40
|
"Topic :: Software Development :: Version Control",
|
|
@@ -43,27 +43,28 @@ classifiers = [
|
|
|
43
43
|
|
|
44
44
|
[tool.poetry.dependencies]
|
|
45
45
|
|
|
46
|
-
python = "^3.
|
|
46
|
+
python = "^3.11"
|
|
47
47
|
|
|
48
|
-
datafiles = "^2.
|
|
48
|
+
datafiles = "^2.6"
|
|
49
49
|
minilog = "^2.3.1"
|
|
50
|
+
regex = ">=2026.5.9"
|
|
50
51
|
universal-startfile = ">=0.2,<0.5"
|
|
51
52
|
|
|
52
53
|
[tool.poetry.group.dev.dependencies]
|
|
53
54
|
|
|
54
55
|
# Formatters
|
|
55
|
-
black = ">=24.8,<
|
|
56
|
-
isort = ">=5.13,<
|
|
56
|
+
black = ">=24.8,<27.0"
|
|
57
|
+
isort = ">=5.13,<10.0"
|
|
57
58
|
|
|
58
59
|
# Linters
|
|
59
|
-
mypy = "
|
|
60
|
+
mypy = ">=1.3,<3.0"
|
|
60
61
|
pydocstyle = "*"
|
|
61
|
-
pylint = "
|
|
62
|
+
pylint = ">=3.3,<4.2"
|
|
62
63
|
types-freezegun = "*"
|
|
63
64
|
types-setuptools = "*"
|
|
64
65
|
|
|
65
66
|
# Testing
|
|
66
|
-
pytest = "
|
|
67
|
+
pytest = ">=8.3,<10.0"
|
|
67
68
|
pytest-cov = ">=5,<8"
|
|
68
69
|
pytest-describe = ">=2.2,<4.0"
|
|
69
70
|
pytest-expecter = "^3.0"
|
|
@@ -71,21 +72,21 @@ pytest-random = "*"
|
|
|
71
72
|
freezegun = "*"
|
|
72
73
|
|
|
73
74
|
# Reports
|
|
74
|
-
coveragespace = "^6.
|
|
75
|
+
coveragespace = "^6.2"
|
|
75
76
|
|
|
76
77
|
# Documentation
|
|
77
78
|
mkdocs = "^1.2.3"
|
|
78
|
-
mkdocstrings = ">=0.18.1,<
|
|
79
|
+
mkdocstrings = ">=0.18.1,<1.1.0"
|
|
79
80
|
mkdocstrings-python = "*"
|
|
80
81
|
pygments = "^2.15.0"
|
|
81
82
|
jinja2 = "~3.1.6"
|
|
82
83
|
|
|
83
84
|
# Tooling
|
|
84
|
-
pyinstaller = "^6.15"
|
|
85
|
+
pyinstaller = { version = "^6.15", python = "<3.16" }
|
|
85
86
|
sniffer = "*"
|
|
86
87
|
macfsevents = { version = "*", platform = "darwin", python = "<3.13" }
|
|
87
88
|
pync = { version = "*", platform = "darwin" }
|
|
88
|
-
rope = ">=0.14,<1.
|
|
89
|
+
rope = ">=0.14,<1.16"
|
|
89
90
|
|
|
90
91
|
[tool.poetry.requires-plugins]
|
|
91
92
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitman-3.8 → gitman-3.9}/gitman/tests/files/subdir/subsubdir/skip/subsubsubsubdir/gitman.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|