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.
Files changed (38) hide show
  1. {gitman-3.5 → gitman-3.5.2}/PKG-INFO +6 -4
  2. {gitman-3.5 → gitman-3.5.2}/README.md +5 -3
  3. {gitman-3.5 → gitman-3.5.2}/gitman/commands.py +2 -3
  4. {gitman-3.5 → gitman-3.5.2}/gitman/models/config.py +7 -25
  5. {gitman-3.5 → gitman-3.5.2}/gitman/tests/conftest.py +0 -2
  6. {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_models_config.py +1 -15
  7. {gitman-3.5 → gitman-3.5.2}/pyproject.toml +2 -2
  8. {gitman-3.5 → gitman-3.5.2}/LICENSE.md +0 -0
  9. {gitman-3.5 → gitman-3.5.2}/gitman/__init__.py +0 -0
  10. {gitman-3.5 → gitman-3.5.2}/gitman/__main__.py +0 -0
  11. {gitman-3.5 → gitman-3.5.2}/gitman/cli.py +0 -0
  12. {gitman-3.5 → gitman-3.5.2}/gitman/common.py +0 -0
  13. {gitman-3.5 → gitman-3.5.2}/gitman/decorators.py +0 -0
  14. {gitman-3.5 → gitman-3.5.2}/gitman/exceptions.py +0 -0
  15. {gitman-3.5 → gitman-3.5.2}/gitman/git.py +0 -0
  16. {gitman-3.5 → gitman-3.5.2}/gitman/hook-gitman.py +0 -0
  17. {gitman-3.5 → gitman-3.5.2}/gitman/models/__init__.py +0 -0
  18. {gitman-3.5 → gitman-3.5.2}/gitman/models/group.py +0 -0
  19. {gitman-3.5 → gitman-3.5.2}/gitman/models/source.py +0 -0
  20. {gitman-3.5 → gitman-3.5.2}/gitman/plugin.py +0 -0
  21. {gitman-3.5 → gitman-3.5.2}/gitman/settings.py +0 -0
  22. {gitman-3.5 → gitman-3.5.2}/gitman/shell.py +0 -0
  23. {gitman-3.5 → gitman-3.5.2}/gitman/tests/__init__.py +0 -0
  24. {gitman-3.5 → gitman-3.5.2}/gitman/tests/files/gdm-custom.yml +0 -0
  25. {gitman-3.5 → gitman-3.5.2}/gitman/tests/files/gdm-default.yml +0 -0
  26. {gitman-3.5 → gitman-3.5.2}/gitman/tests/files/gitman.yml +0 -0
  27. {gitman-3.5 → gitman-3.5.2}/gitman/tests/files/subdir/gitman.yml +0 -0
  28. {gitman-3.5 → gitman-3.5.2}/gitman/tests/files/subdir/subsubdir/gitman.yml +0 -0
  29. {gitman-3.5 → gitman-3.5.2}/gitman/tests/files/subdir/subsubdir/skip/subsubsubsubdir/gitman.yml +0 -0
  30. {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_cli.py +0 -0
  31. {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_commands.py +0 -0
  32. {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_common.py +0 -0
  33. {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_git.py +0 -0
  34. {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_models_group.py +0 -0
  35. {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_models_source.py +0 -0
  36. {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_plugin.py +0 -0
  37. {gitman-3.5 → gitman-3.5.2}/gitman/tests/test_shell.py +0 -0
  38. {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
  [![Demo](https://raw.githubusercontent.com/jacebrowning/gitman/main/docs/demo.gif)](https://asciinema.org/a/3DLos4HIU84P0AfFlZMYcgPus)
40
40
 
41
- [![Build Status](https://img.shields.io/github/actions/workflow/status/jacebrowning/gitman/main.yml?branch=main)](https://github.com/jacebrowning/gitman/actions)
42
- [![Code Coverage](https://img.shields.io/codecov/c/gh/jacebrowning/gitman)](https://codecov.io/gh/jacebrowning/gitman)
43
- [![Code Quality](https://img.shields.io/scrutinizer/g/jacebrowning/gitman.svg?label=quiality)](https://scrutinizer-ci.com/g/jacebrowning/gitman/?branch=main)
41
+ [![Linux Build](https://img.shields.io/github/actions/workflow/status/jacebrowning/gitman/main.yml?branch=main&label=linux)](https://github.com/jacebrowning/gitman/actions)
42
+ [![Windows Build](https://img.shields.io/appveyor/ci/jacebrowning/gitman/main.svg?label=windows)](https://ci.appveyor.com/project/jacebrowning/gitman)
43
+ [![Code Coverage](https://img.shields.io/codecov/c/github/jacebrowning/gitman)
44
+ ](https://codecov.io/gh/jacebrowning/gitman)
45
+ [![Code Quality](https://img.shields.io/scrutinizer/g/jacebrowning/gitman.svg?label=quality)](https://scrutinizer-ci.com/g/jacebrowning/gitman/?branch=main)
44
46
  [![PyPI License](https://img.shields.io/pypi/l/gitman.svg)](https://pypi.org/project/gitman)
45
47
  [![PyPI Version](https://img.shields.io/pypi/v/gitman.svg?label=version)](https://pypi.org/project/gitman)
46
48
  [![PyPI Downloads](https://img.shields.io/pypi/dm/gitman.svg?color=orange)](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
  [![Demo](https://raw.githubusercontent.com/jacebrowning/gitman/main/docs/demo.gif)](https://asciinema.org/a/3DLos4HIU84P0AfFlZMYcgPus)
6
6
 
7
- [![Build Status](https://img.shields.io/github/actions/workflow/status/jacebrowning/gitman/main.yml?branch=main)](https://github.com/jacebrowning/gitman/actions)
8
- [![Code Coverage](https://img.shields.io/codecov/c/gh/jacebrowning/gitman)](https://codecov.io/gh/jacebrowning/gitman)
9
- [![Code Quality](https://img.shields.io/scrutinizer/g/jacebrowning/gitman.svg?label=quiality)](https://scrutinizer-ci.com/g/jacebrowning/gitman/?branch=main)
7
+ [![Linux Build](https://img.shields.io/github/actions/workflow/status/jacebrowning/gitman/main.yml?branch=main&label=linux)](https://github.com/jacebrowning/gitman/actions)
8
+ [![Windows Build](https://img.shields.io/appveyor/ci/jacebrowning/gitman/main.svg?label=windows)](https://ci.appveyor.com/project/jacebrowning/gitman)
9
+ [![Code Coverage](https://img.shields.io/codecov/c/github/jacebrowning/gitman)
10
+ ](https://codecov.io/gh/jacebrowning/gitman)
11
+ [![Code Quality](https://img.shields.io/scrutinizer/g/jacebrowning/gitman.svg?label=quality)](https://scrutinizer-ci.com/g/jacebrowning/gitman/?branch=main)
10
12
  [![PyPI License](https://img.shields.io/pypi/l/gitman.svg)](https://pypi.org/project/gitman)
11
13
  [![PyPI Version](https://img.shields.io/pypi/v/gitman.svg?label=version)](https://pypi.org/project/gitman)
12
14
  [![PyPI Downloads](https://img.shields.io/pypi/dm/gitman.svg?color=orange)](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
- configs = filter_nested_configs(configs)
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.startswith("."):
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 os.path.isdir(path) and path not in skip_paths and not os.path.islink(path):
438
- config = load_config(path, search=False)
439
- if config:
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, find_nested_configs, load_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.3"
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
File without changes