gitman 3.4.1b2__tar.gz → 3.5__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.4.1b2 → gitman-3.5}/PKG-INFO +7 -8
- {gitman-3.4.1b2 → gitman-3.5}/README.md +4 -5
- {gitman-3.4.1b2 → gitman-3.5}/gitman/git.py +6 -2
- {gitman-3.4.1b2 → gitman-3.5}/gitman/models/config.py +1 -1
- {gitman-3.4.1b2 → gitman-3.5}/gitman/shell.py +10 -8
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/conftest.py +2 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/test_cli.py +1 -1
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/test_git.py +0 -2
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/test_models_config.py +1 -1
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/test_models_source.py +1 -1
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/test_plugin.py +0 -2
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/test_shell.py +1 -1
- {gitman-3.4.1b2 → gitman-3.5}/pyproject.toml +36 -8
- {gitman-3.4.1b2 → gitman-3.5}/LICENSE.md +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/__init__.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/__main__.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/cli.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/commands.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/common.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/decorators.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/exceptions.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/hook-gitman.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/models/__init__.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/models/group.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/models/source.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/plugin.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/settings.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/__init__.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/files/gdm-custom.yml +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/files/gdm-default.yml +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/files/gitman.yml +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/files/subdir/gitman.yml +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/files/subdir/subsubdir/gitman.yml +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/files/subdir/subsubdir/skip/subsubsubsubdir/gitman.yml +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/test_commands.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/test_common.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/test_models_group.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5}/gitman/tests/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gitman
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.5
|
|
4
4
|
Summary: A language-agnostic dependency manager using Git.
|
|
5
5
|
Home-page: https://pypi.org/project/gitman
|
|
6
6
|
License: MIT
|
|
@@ -25,8 +25,8 @@ 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.
|
|
29
|
-
Requires-Dist: minilog (>=2.
|
|
28
|
+
Requires-Dist: datafiles (>=2.2,<3.0)
|
|
29
|
+
Requires-Dist: minilog (>=2.3,<3.0)
|
|
30
30
|
Requires-Dist: universal-startfile (>=0.2,<0.3)
|
|
31
31
|
Project-URL: Documentation, https://gitman.readthedocs.io
|
|
32
32
|
Project-URL: Repository, https://github.com/jacebrowning/gitman
|
|
@@ -38,12 +38,11 @@ Gitman is a language-agnostic dependency manager using Git. It aims to serve as
|
|
|
38
38
|
|
|
39
39
|
[](https://asciinema.org/a/3DLos4HIU84P0AfFlZMYcgPus)
|
|
40
40
|
|
|
41
|
-
[](https://scrutinizer-ci.com/g/jacebrowning/gitman/?branch=main)
|
|
41
|
+
[](https://github.com/jacebrowning/gitman/actions)
|
|
42
|
+
[](https://codecov.io/gh/jacebrowning/gitman)
|
|
43
|
+
[](https://scrutinizer-ci.com/g/jacebrowning/gitman/?branch=main)
|
|
45
44
|
[](https://pypi.org/project/gitman)
|
|
46
|
-
[](https://pypi.org/project/gitman)
|
|
45
|
+
[](https://pypi.org/project/gitman)
|
|
47
46
|
[](https://pypistats.org/packages/gitman)
|
|
48
47
|
|
|
49
48
|
## Setup
|
|
@@ -4,12 +4,11 @@ Gitman is a language-agnostic dependency manager using Git. It aims to serve as
|
|
|
4
4
|
|
|
5
5
|
[](https://asciinema.org/a/3DLos4HIU84P0AfFlZMYcgPus)
|
|
6
6
|
|
|
7
|
-
[](https://scrutinizer-ci.com/g/jacebrowning/gitman/?branch=main)
|
|
7
|
+
[](https://github.com/jacebrowning/gitman/actions)
|
|
8
|
+
[](https://codecov.io/gh/jacebrowning/gitman)
|
|
9
|
+
[](https://scrutinizer-ci.com/g/jacebrowning/gitman/?branch=main)
|
|
11
10
|
[](https://pypi.org/project/gitman)
|
|
12
|
-
[](https://pypi.org/project/gitman)
|
|
11
|
+
[](https://pypi.org/project/gitman)
|
|
13
12
|
[](https://pypistats.org/packages/gitman)
|
|
14
13
|
|
|
15
14
|
## Setup
|
|
@@ -62,11 +62,15 @@ def clone(
|
|
|
62
62
|
git("-C", normpath, "remote", "add", "-f", "origin", sparse_paths_repo)
|
|
63
63
|
|
|
64
64
|
with open(
|
|
65
|
-
"%s/%s/.git/info/sparse-checkout" % (os.getcwd(), normpath),
|
|
65
|
+
"%s/%s/.git/info/sparse-checkout" % (os.getcwd(), normpath),
|
|
66
|
+
"w",
|
|
67
|
+
encoding="utf-8",
|
|
66
68
|
) as fd:
|
|
67
69
|
fd.write("\n".join(sparse_paths))
|
|
68
70
|
with open(
|
|
69
|
-
"%s/%s/.git/objects/info/alternates" % (os.getcwd(), normpath),
|
|
71
|
+
"%s/%s/.git/objects/info/alternates" % (os.getcwd(), normpath),
|
|
72
|
+
"w",
|
|
73
|
+
encoding="utf-8",
|
|
70
74
|
) as fd:
|
|
71
75
|
fd.write("%s/objects" % sparse_paths_repo)
|
|
72
76
|
|
|
@@ -329,7 +329,7 @@ class Config:
|
|
|
329
329
|
def log(self, message: str = "", *args):
|
|
330
330
|
"""Append a message to the log file."""
|
|
331
331
|
os.makedirs(self.location_path, exist_ok=True)
|
|
332
|
-
with open(self.log_path, "a") as outfile:
|
|
332
|
+
with open(self.log_path, "a", encoding="utf-8") as outfile:
|
|
333
333
|
outfile.write(message.format(*args) + "\n")
|
|
334
334
|
|
|
335
335
|
def _get_sources(self, *, use_locked: Optional[bool] = None) -> List[Source]:
|
|
@@ -46,14 +46,16 @@ def call(name, *args, _show=True, _stream=True, _shell=False, _ignore=False):
|
|
|
46
46
|
else:
|
|
47
47
|
env.pop(lp_key, None) # last resort: remove the env var
|
|
48
48
|
|
|
49
|
-
command =
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
command = (
|
|
50
|
+
subprocess.Popen( # pylint: disable=subprocess-run-check,consider-using-with
|
|
51
|
+
name if _shell else [name, *args],
|
|
52
|
+
encoding="utf-8",
|
|
53
|
+
universal_newlines=True,
|
|
54
|
+
stdout=subprocess.PIPE,
|
|
55
|
+
stderr=subprocess.STDOUT,
|
|
56
|
+
shell=_shell,
|
|
57
|
+
env=env,
|
|
58
|
+
)
|
|
57
59
|
)
|
|
58
60
|
|
|
59
61
|
# Poll process.stdout to show stdout live
|
|
@@ -24,6 +24,8 @@ def pytest_configure(config):
|
|
|
24
24
|
def pytest_runtest_setup(item):
|
|
25
25
|
"""Disable file storage during unit tests."""
|
|
26
26
|
if "integration" in item.keywords:
|
|
27
|
+
if os.name == "nt":
|
|
28
|
+
pytest.skip("Integration tests not supported on Windows")
|
|
27
29
|
if not os.getenv(ENV):
|
|
28
30
|
pytest.skip(REASON)
|
|
29
31
|
else:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
|
|
3
3
|
name = "gitman"
|
|
4
|
-
version = "3.
|
|
4
|
+
version = "3.5"
|
|
5
5
|
description = "A language-agnostic dependency manager using Git."
|
|
6
6
|
|
|
7
7
|
license = "MIT"
|
|
@@ -44,8 +44,8 @@ classifiers = [
|
|
|
44
44
|
|
|
45
45
|
python = "^3.8"
|
|
46
46
|
|
|
47
|
-
datafiles = "^2.
|
|
48
|
-
minilog = "^2.
|
|
47
|
+
datafiles = "^2.2"
|
|
48
|
+
minilog = "^2.3"
|
|
49
49
|
universal-startfile = "~0.2"
|
|
50
50
|
|
|
51
51
|
[tool.poetry.dev-dependencies]
|
|
@@ -57,20 +57,20 @@ isort = "^5.10"
|
|
|
57
57
|
# Linters
|
|
58
58
|
mypy = "^1.3"
|
|
59
59
|
pydocstyle = "*"
|
|
60
|
-
pylint = "~2.
|
|
60
|
+
pylint = "~2.15"
|
|
61
61
|
types-freezegun = "*"
|
|
62
62
|
types-setuptools = "*"
|
|
63
63
|
|
|
64
64
|
# Testing
|
|
65
|
-
pytest = "^
|
|
66
|
-
pytest-cov = "^
|
|
67
|
-
pytest-describe = "^2.
|
|
65
|
+
pytest = "^8.1"
|
|
66
|
+
pytest-cov = "^5.0"
|
|
67
|
+
pytest-describe = "^2.2"
|
|
68
68
|
pytest-expecter = "^3.0"
|
|
69
69
|
pytest-random = "*"
|
|
70
70
|
freezegun = "*"
|
|
71
71
|
|
|
72
72
|
# Reports
|
|
73
|
-
coveragespace = "^6.
|
|
73
|
+
coveragespace = "^6.1"
|
|
74
74
|
|
|
75
75
|
# Documentation
|
|
76
76
|
mkdocs = "^1.2.3"
|
|
@@ -98,6 +98,34 @@ quiet = true
|
|
|
98
98
|
|
|
99
99
|
profile = "black"
|
|
100
100
|
|
|
101
|
+
[tool.mypy]
|
|
102
|
+
|
|
103
|
+
ignore_missing_imports = true
|
|
104
|
+
no_implicit_optional = true
|
|
105
|
+
check_untyped_defs = true
|
|
106
|
+
|
|
107
|
+
cache_dir = ".cache/mypy/"
|
|
108
|
+
|
|
109
|
+
plugins = "datafiles.plugins:mypy"
|
|
110
|
+
|
|
111
|
+
[tool.pytest.ini_options]
|
|
112
|
+
|
|
113
|
+
addopts = """
|
|
114
|
+
--strict-markers
|
|
115
|
+
|
|
116
|
+
-r sxX
|
|
117
|
+
--show-capture=log
|
|
118
|
+
|
|
119
|
+
--cov=gitman
|
|
120
|
+
--cov-report=html
|
|
121
|
+
--cov-report=term-missing:skip-covered
|
|
122
|
+
--no-cov-on-fail
|
|
123
|
+
"""
|
|
124
|
+
|
|
125
|
+
cache_dir = ".cache/pytest/"
|
|
126
|
+
|
|
127
|
+
markers = ["integration"]
|
|
128
|
+
|
|
101
129
|
[build-system]
|
|
102
130
|
|
|
103
131
|
requires = ["poetry-core>=1.0"]
|
|
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.4.1b2 → gitman-3.5}/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
|