gitman 3.5__tar.gz → 3.5.2__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.5 → gitman-3.5.2}/PKG-INFO +6 -4
- {gitman-3.5 → gitman-3.5.2}/README.md +5 -3
- {gitman-3.5 → gitman-3.5.2}/gitman/commands.py +2 -3
- {gitman-3.5 → gitman-3.5.2}/gitman/models/config.py +7 -25
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/conftest.py +0 -2
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_models_config.py +1 -15
- {gitman-3.5 → gitman-3.5.2}/pyproject.toml +2 -2
- {gitman-3.5 → gitman-3.5.2}/LICENSE.md +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/__init__.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/__main__.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/cli.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/common.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/decorators.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/exceptions.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/git.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/hook-gitman.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/models/__init__.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/models/group.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/models/source.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/plugin.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/settings.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/shell.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/__init__.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/files/gdm-custom.yml +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/files/gdm-default.yml +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/files/gitman.yml +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/files/subdir/gitman.yml +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/files/subdir/subsubdir/gitman.yml +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/files/subdir/subsubdir/skip/subsubsubsubdir/gitman.yml +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_cli.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_commands.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_common.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_git.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_models_group.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_models_source.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_plugin.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_shell.py +0 -0
- {gitman-3.5 → gitman-3.5.2}/gitman/tests/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gitman
|
|
3
|
-
Version: 3.5
|
|
3
|
+
Version: 3.5.2
|
|
4
4
|
Summary: A language-agnostic dependency manager using Git.
|
|
5
5
|
Home-page: https://pypi.org/project/gitman
|
|
6
6
|
License: MIT
|
|
@@ -38,9 +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://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)
|
|
44
46
|
[](https://pypi.org/project/gitman)
|
|
45
47
|
[](https://pypi.org/project/gitman)
|
|
46
48
|
[](https://pypistats.org/packages/gitman)
|
|
@@ -4,9 +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://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)
|
|
10
12
|
[](https://pypi.org/project/gitman)
|
|
11
13
|
[](https://pypi.org/project/gitman)
|
|
12
14
|
[](https://pypistats.org/packages/gitman)
|
|
@@ -8,7 +8,6 @@ from startfile import startfile
|
|
|
8
8
|
from . import common
|
|
9
9
|
from .decorators import preserve_cwd
|
|
10
10
|
from .models import Config, Source, find_nested_configs, load_config
|
|
11
|
-
from .models.config import filter_nested_configs
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
def init(*, force: bool = False):
|
|
@@ -93,7 +92,6 @@ def install(
|
|
|
93
92
|
config = load_config(root)
|
|
94
93
|
configs = [config] if config else []
|
|
95
94
|
configs.extend(find_nested_configs(root, depth, []))
|
|
96
|
-
configs = filter_nested_configs(configs)
|
|
97
95
|
|
|
98
96
|
if configs:
|
|
99
97
|
count = 0
|
|
@@ -171,6 +169,7 @@ def update(
|
|
|
171
169
|
config = load_config(root)
|
|
172
170
|
configs = [config] if config else []
|
|
173
171
|
configs.extend(find_nested_configs(root, depth, []))
|
|
172
|
+
|
|
174
173
|
if configs:
|
|
175
174
|
count = 0
|
|
176
175
|
common.newline()
|
|
@@ -276,7 +275,7 @@ def lock(*names, depth=None, root=None):
|
|
|
276
275
|
config = load_config(root)
|
|
277
276
|
configs = [config] if config else []
|
|
278
277
|
configs.extend(find_nested_configs(root, depth, []))
|
|
279
|
-
|
|
278
|
+
|
|
280
279
|
if configs:
|
|
281
280
|
count = 0
|
|
282
281
|
common.newline()
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import sys
|
|
3
|
-
from pathlib import Path
|
|
4
3
|
from typing import Iterator, List, Optional
|
|
5
4
|
|
|
6
5
|
import log
|
|
@@ -431,17 +430,17 @@ def find_nested_configs(
|
|
|
431
430
|
|
|
432
431
|
log.debug(f"Searching for nested project in: {root}")
|
|
433
432
|
for name in os.listdir(root):
|
|
434
|
-
if name
|
|
433
|
+
if name[0] in {".", "_", "@"}:
|
|
434
|
+
continue
|
|
435
|
+
if name in {"build", "dist", "node_modules", "venv"}:
|
|
435
436
|
continue
|
|
436
437
|
path = os.path.join(root, name)
|
|
437
|
-
if
|
|
438
|
-
|
|
439
|
-
|
|
438
|
+
if path in skip_paths:
|
|
439
|
+
continue
|
|
440
|
+
if os.path.isdir(path) and not os.path.islink(path):
|
|
441
|
+
if config := load_config(path, search=False):
|
|
440
442
|
configs.append(config)
|
|
441
443
|
|
|
442
|
-
if os.path.islink(path):
|
|
443
|
-
continue
|
|
444
|
-
|
|
445
444
|
if depth is not None:
|
|
446
445
|
configs.extend(find_nested_configs(path, depth - 1, skip_paths))
|
|
447
446
|
else:
|
|
@@ -465,20 +464,3 @@ def _valid_filename(filename):
|
|
|
465
464
|
if name.startswith("."):
|
|
466
465
|
name = name[1:]
|
|
467
466
|
return name in {"gitman", "gdm"} and ext in {".yml", ".yaml"}
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
def filter_nested_configs(configs: List[Config]) -> List[Config]:
|
|
471
|
-
"""Filter subdirectories inside of parent config."""
|
|
472
|
-
filtered_configs = []
|
|
473
|
-
for config_a in configs:
|
|
474
|
-
is_nested = False
|
|
475
|
-
for config_b in configs:
|
|
476
|
-
if config_a == config_b:
|
|
477
|
-
continue
|
|
478
|
-
if Path(config_b.location_path) in Path(config_a.location_path).parents:
|
|
479
|
-
is_nested = True
|
|
480
|
-
break
|
|
481
|
-
if not is_nested:
|
|
482
|
-
filtered_configs.append(config_a)
|
|
483
|
-
|
|
484
|
-
return filtered_configs
|
|
@@ -24,8 +24,6 @@ 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")
|
|
29
27
|
if not os.getenv(ENV):
|
|
30
28
|
pytest.skip(REASON)
|
|
31
29
|
else:
|
|
@@ -5,8 +5,7 @@ import os
|
|
|
5
5
|
import pytest
|
|
6
6
|
from expecter import expect
|
|
7
7
|
|
|
8
|
-
from gitman.models import Config,
|
|
9
|
-
from gitman.models.config import filter_nested_configs
|
|
8
|
+
from gitman.models import Config, load_config
|
|
10
9
|
|
|
11
10
|
from .conftest import FILES
|
|
12
11
|
|
|
@@ -149,16 +148,3 @@ class TestLoad:
|
|
|
149
148
|
config = load_config()
|
|
150
149
|
|
|
151
150
|
assert None is config
|
|
152
|
-
|
|
153
|
-
@pytest.mark.integration
|
|
154
|
-
def test_filter_nested_config(self):
|
|
155
|
-
"""Verify that filter_nested_config removes nested configs"""
|
|
156
|
-
config = load_config(FILES)
|
|
157
|
-
assert None is not config
|
|
158
|
-
count = config.install_dependencies(depth=2)
|
|
159
|
-
assert 5 == count
|
|
160
|
-
configs = [config] if config else []
|
|
161
|
-
configs.extend(find_nested_configs(FILES, depth=2, skip_paths=[]))
|
|
162
|
-
assert 2 == len(configs)
|
|
163
|
-
configs = filter_nested_configs(configs)
|
|
164
|
-
assert 1 == len(configs)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
|
|
3
3
|
name = "gitman"
|
|
4
|
-
version = "3.5"
|
|
4
|
+
version = "3.5.2"
|
|
5
5
|
description = "A language-agnostic dependency manager using Git."
|
|
6
6
|
|
|
7
7
|
license = "MIT"
|
|
@@ -76,7 +76,7 @@ coveragespace = "^6.1"
|
|
|
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"
|
|
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.5 → gitman-3.5.2}/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
|