gitman 3.4.1b2__tar.gz → 3.5.1__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.1}/PKG-INFO +9 -8
- {gitman-3.4.1b2 → gitman-3.5.1}/README.md +6 -5
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/commands.py +1 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/git.py +6 -2
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/models/config.py +8 -8
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/shell.py +10 -8
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/test_cli.py +1 -1
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/test_git.py +0 -2
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/test_models_config.py +1 -1
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/test_models_source.py +1 -1
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/test_plugin.py +0 -2
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/test_shell.py +1 -1
- {gitman-3.4.1b2 → gitman-3.5.1}/pyproject.toml +37 -9
- {gitman-3.4.1b2 → gitman-3.5.1}/LICENSE.md +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/__init__.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/__main__.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/cli.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/common.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/decorators.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/exceptions.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/hook-gitman.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/models/__init__.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/models/group.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/models/source.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/plugin.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/settings.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/__init__.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/conftest.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/files/gdm-custom.yml +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/files/gdm-default.yml +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/files/gitman.yml +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/files/subdir/gitman.yml +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/files/subdir/subsubdir/gitman.yml +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/files/subdir/subsubdir/skip/subsubsubsubdir/gitman.yml +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/test_commands.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/test_common.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/gitman/tests/test_models_group.py +0 -0
- {gitman-3.4.1b2 → gitman-3.5.1}/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.1
|
|
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,13 @@ 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://github.com/jacebrowning/gitman/actions)
|
|
42
|
+
[](https://ci.appveyor.com/project/jacebrowning/gitman)
|
|
43
|
+
[
|
|
44
|
+
](https://codecov.io/gh/jacebrowning/gitman)
|
|
45
|
+
[](https://scrutinizer-ci.com/g/jacebrowning/gitman/?branch=main)
|
|
45
46
|
[](https://pypi.org/project/gitman)
|
|
46
|
-
[](https://pypi.org/project/gitman)
|
|
47
|
+
[](https://pypi.org/project/gitman)
|
|
47
48
|
[](https://pypistats.org/packages/gitman)
|
|
48
49
|
|
|
49
50
|
## Setup
|
|
@@ -4,12 +4,13 @@ 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://github.com/jacebrowning/gitman/actions)
|
|
8
|
+
[](https://ci.appveyor.com/project/jacebrowning/gitman)
|
|
9
|
+
[
|
|
10
|
+
](https://codecov.io/gh/jacebrowning/gitman)
|
|
11
|
+
[](https://scrutinizer-ci.com/g/jacebrowning/gitman/?branch=main)
|
|
11
12
|
[](https://pypi.org/project/gitman)
|
|
12
|
-
[](https://pypi.org/project/gitman)
|
|
13
|
+
[](https://pypi.org/project/gitman)
|
|
13
14
|
[](https://pypistats.org/packages/gitman)
|
|
14
15
|
|
|
15
16
|
## 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]:
|
|
@@ -431,17 +431,17 @@ def find_nested_configs(
|
|
|
431
431
|
|
|
432
432
|
log.debug(f"Searching for nested project in: {root}")
|
|
433
433
|
for name in os.listdir(root):
|
|
434
|
-
if name
|
|
434
|
+
if name[0] in {".", "_", "@"}:
|
|
435
|
+
continue
|
|
436
|
+
if name in {"build", "dist", "node_modules", "venv"}:
|
|
435
437
|
continue
|
|
436
438
|
path = os.path.join(root, name)
|
|
437
|
-
if
|
|
438
|
-
|
|
439
|
-
|
|
439
|
+
if path in skip_paths:
|
|
440
|
+
continue
|
|
441
|
+
if os.path.isdir(path) and not os.path.islink(path):
|
|
442
|
+
if config := load_config(path, search=False):
|
|
440
443
|
configs.append(config)
|
|
441
444
|
|
|
442
|
-
if os.path.islink(path):
|
|
443
|
-
continue
|
|
444
|
-
|
|
445
445
|
if depth is not None:
|
|
446
446
|
configs.extend(find_nested_configs(path, depth - 1, skip_paths))
|
|
447
447
|
else:
|
|
@@ -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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
|
|
3
3
|
name = "gitman"
|
|
4
|
-
version = "3.
|
|
4
|
+
version = "3.5.1"
|
|
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,26 +57,26 @@ 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"
|
|
77
77
|
mkdocstrings = "^0.18.1"
|
|
78
78
|
pygments = "^2.15.0"
|
|
79
|
-
jinja2 = "~3.1.
|
|
79
|
+
jinja2 = "~3.1.4"
|
|
80
80
|
|
|
81
81
|
# Tooling
|
|
82
82
|
pyinstaller = "^4.0"
|
|
@@ -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.1}/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
|