gitman 3.4b3__tar.gz → 3.4.1b2__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.4b3 → gitman-3.4.1b2}/PKG-INFO +3 -6
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/cli.py +17 -1
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/commands.py +9 -6
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/models/config.py +15 -12
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/plugin.py +7 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/test_cli.py +17 -2
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/test_models_config.py +15 -1
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/test_plugin.py +5 -1
- {gitman-3.4b3 → gitman-3.4.1b2}/pyproject.toml +9 -8
- gitman-3.4b3/setup.py +0 -39
- {gitman-3.4b3 → gitman-3.4.1b2}/LICENSE.md +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/README.md +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/__init__.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/__main__.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/common.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/decorators.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/exceptions.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/git.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/hook-gitman.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/models/__init__.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/models/group.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/models/source.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/settings.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/shell.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/__init__.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/conftest.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/files/gdm-custom.yml +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/files/gdm-default.yml +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/files/gitman.yml +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/files/subdir/gitman.yml +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/files/subdir/subsubdir/gitman.yml +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/files/subdir/subsubdir/skip/subsubsubsubdir/gitman.yml +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/test_commands.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/test_common.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/test_git.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/test_models_group.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/test_models_source.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/gitman/tests/test_shell.py +0 -0
- {gitman-3.4b3 → gitman-3.4.1b2}/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.4.1b2
|
|
4
4
|
Summary: A language-agnostic dependency manager using Git.
|
|
5
5
|
Home-page: https://pypi.org/project/gitman
|
|
6
6
|
License: MIT
|
|
@@ -20,15 +20,12 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.9
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
-
Classifier: Programming Language :: Python :: 3
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
25
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
26
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
27
24
|
Classifier: Topic :: Software Development
|
|
28
25
|
Classifier: Topic :: Software Development :: Build Tools
|
|
29
26
|
Classifier: Topic :: Software Development :: Version Control
|
|
30
27
|
Classifier: Topic :: System :: Software Distribution
|
|
31
|
-
Requires-Dist: datafiles (>=2.
|
|
28
|
+
Requires-Dist: datafiles (>=2.1.2,<3.0.0)
|
|
32
29
|
Requires-Dist: minilog (>=2.1,<3.0)
|
|
33
30
|
Requires-Dist: universal-startfile (>=0.2,<0.3)
|
|
34
31
|
Project-URL: Documentation, https://gitman.readthedocs.io
|
|
@@ -118,6 +118,13 @@ def main(args=None, function=None):
|
|
|
118
118
|
action="store_true",
|
|
119
119
|
dest="no_defaults",
|
|
120
120
|
)
|
|
121
|
+
sub.add_argument(
|
|
122
|
+
"-S",
|
|
123
|
+
"--no-scripts",
|
|
124
|
+
help="skip running scripts after installation",
|
|
125
|
+
action="store_true",
|
|
126
|
+
dest="no_scripts",
|
|
127
|
+
)
|
|
121
128
|
|
|
122
129
|
# Update parser
|
|
123
130
|
info = "update dependencies to the latest versions"
|
|
@@ -144,6 +151,13 @@ def main(args=None, function=None):
|
|
|
144
151
|
default=None,
|
|
145
152
|
help="disable recording of updated versions",
|
|
146
153
|
)
|
|
154
|
+
sub.add_argument(
|
|
155
|
+
"-S",
|
|
156
|
+
"--no-scripts",
|
|
157
|
+
help="skip running scripts after installation",
|
|
158
|
+
action="store_true",
|
|
159
|
+
dest="no_scripts",
|
|
160
|
+
)
|
|
147
161
|
|
|
148
162
|
# List parser
|
|
149
163
|
info = "display the current version of each dependency"
|
|
@@ -168,7 +182,7 @@ def main(args=None, function=None):
|
|
|
168
182
|
"lock",
|
|
169
183
|
description=info.capitalize() + ".",
|
|
170
184
|
help=info,
|
|
171
|
-
parents=[debug, project],
|
|
185
|
+
parents=[debug, project, depth],
|
|
172
186
|
formatter_class=common.WideHelpFormatter,
|
|
173
187
|
)
|
|
174
188
|
sub.add_argument("name", nargs="*", help="list of dependency names to lock")
|
|
@@ -262,6 +276,7 @@ def _get_command(function, namespace):
|
|
|
262
276
|
force_interactive=namespace.force_interactive,
|
|
263
277
|
clean=namespace.clean,
|
|
264
278
|
skip_changes=namespace.skip_changes,
|
|
279
|
+
skip_scripts=namespace.no_scripts,
|
|
265
280
|
)
|
|
266
281
|
if namespace.command == "install":
|
|
267
282
|
kwargs.update(
|
|
@@ -287,6 +302,7 @@ def _get_command(function, namespace):
|
|
|
287
302
|
args = namespace.name
|
|
288
303
|
kwargs.update(
|
|
289
304
|
root=namespace.root,
|
|
305
|
+
depth=namespace.depth,
|
|
290
306
|
)
|
|
291
307
|
|
|
292
308
|
elif namespace.command == "uninstall":
|
|
@@ -62,6 +62,7 @@ def install(
|
|
|
62
62
|
clean=True,
|
|
63
63
|
skip_changes=False,
|
|
64
64
|
skip_default_group=False,
|
|
65
|
+
skip_scripts=False,
|
|
65
66
|
):
|
|
66
67
|
"""Install dependencies for a project.
|
|
67
68
|
|
|
@@ -80,6 +81,7 @@ def install(
|
|
|
80
81
|
should be skipped
|
|
81
82
|
- `skip_default_group`: indicates default_group should be skipped if
|
|
82
83
|
`*names` is empty
|
|
84
|
+
- `skip_scripts`: indicates scripts should be skipped
|
|
83
85
|
"""
|
|
84
86
|
log.info(
|
|
85
87
|
"%sInstalling dependencies: %s",
|
|
@@ -90,10 +92,8 @@ def install(
|
|
|
90
92
|
|
|
91
93
|
config = load_config(root)
|
|
92
94
|
configs = [config] if config else []
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
nested_configs = filter_nested_configs(config, nested_configs)
|
|
96
|
-
configs.extend(nested_configs)
|
|
95
|
+
configs.extend(find_nested_configs(root, depth, []))
|
|
96
|
+
configs = filter_nested_configs(configs)
|
|
97
97
|
|
|
98
98
|
if configs:
|
|
99
99
|
count = 0
|
|
@@ -117,7 +117,7 @@ def install(
|
|
|
117
117
|
)
|
|
118
118
|
count += _count # type: ignore
|
|
119
119
|
|
|
120
|
-
if _count:
|
|
120
|
+
if _count and not skip_scripts:
|
|
121
121
|
label = "nested scripts" if index else "scripts"
|
|
122
122
|
common.show(f"Running {label}...", color="message", log=False)
|
|
123
123
|
common.newline()
|
|
@@ -138,6 +138,7 @@ def update(
|
|
|
138
138
|
lock=None, # pylint: disable=redefined-outer-name
|
|
139
139
|
skip_changes=False,
|
|
140
140
|
skip_default_group=False,
|
|
141
|
+
skip_scripts=False,
|
|
141
142
|
):
|
|
142
143
|
"""Update dependencies for a project.
|
|
143
144
|
|
|
@@ -157,6 +158,7 @@ def update(
|
|
|
157
158
|
should be skipped
|
|
158
159
|
- `skip_default_group`: indicates default_group should be skipped if
|
|
159
160
|
`*names` is empty
|
|
161
|
+
- `skip_scripts`: indicates scripts should be skipped
|
|
160
162
|
"""
|
|
161
163
|
log.info(
|
|
162
164
|
"%s dependencies%s: %s",
|
|
@@ -200,7 +202,7 @@ def update(
|
|
|
200
202
|
skip_changes=skip_changes or force_interactive,
|
|
201
203
|
)
|
|
202
204
|
|
|
203
|
-
if _count:
|
|
205
|
+
if _count and not skip_scripts:
|
|
204
206
|
label = "nested scripts" if index else "scripts"
|
|
205
207
|
common.show(f"Running {label}...", color="message", log=False)
|
|
206
208
|
common.newline()
|
|
@@ -274,6 +276,7 @@ def lock(*names, depth=None, root=None):
|
|
|
274
276
|
config = load_config(root)
|
|
275
277
|
configs = [config] if config else []
|
|
276
278
|
configs.extend(find_nested_configs(root, depth, []))
|
|
279
|
+
configs = filter_nested_configs(configs)
|
|
277
280
|
if configs:
|
|
278
281
|
count = 0
|
|
279
282
|
common.newline()
|
|
@@ -6,7 +6,7 @@ from typing import Iterator, List, Optional
|
|
|
6
6
|
import log
|
|
7
7
|
from datafiles import datafile, field
|
|
8
8
|
|
|
9
|
-
from .. import common, exceptions,
|
|
9
|
+
from .. import common, exceptions, shell
|
|
10
10
|
from ..decorators import preserve_cwd
|
|
11
11
|
from .group import Group
|
|
12
12
|
from .source import Identity, Source
|
|
@@ -426,7 +426,7 @@ def find_nested_configs(
|
|
|
426
426
|
root = os.path.abspath(root) if root else _resolve_current_directory()
|
|
427
427
|
configs: List[Config] = []
|
|
428
428
|
|
|
429
|
-
if
|
|
429
|
+
if depth is not None and depth <= 1:
|
|
430
430
|
return configs
|
|
431
431
|
|
|
432
432
|
log.debug(f"Searching for nested project in: {root}")
|
|
@@ -467,15 +467,18 @@ def _valid_filename(filename):
|
|
|
467
467
|
return name in {"gitman", "gdm"} and ext in {".yml", ".yaml"}
|
|
468
468
|
|
|
469
469
|
|
|
470
|
-
def filter_nested_configs(
|
|
471
|
-
top_level_config: Config, nested_configs: List[Config]
|
|
472
|
-
) -> List[Config]:
|
|
470
|
+
def filter_nested_configs(configs: List[Config]) -> List[Config]:
|
|
473
471
|
"""Filter subdirectories inside of parent config."""
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
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)
|
|
480
483
|
|
|
481
|
-
return
|
|
484
|
+
return filtered_configs
|
|
@@ -62,6 +62,13 @@ def main(args=None):
|
|
|
62
62
|
action="store_true",
|
|
63
63
|
dest="no_defaults",
|
|
64
64
|
)
|
|
65
|
+
parser.add_argument(
|
|
66
|
+
"-S",
|
|
67
|
+
"--no-scripts",
|
|
68
|
+
help="skip running scripts after installation",
|
|
69
|
+
action="store_true",
|
|
70
|
+
dest="no_scripts",
|
|
71
|
+
)
|
|
65
72
|
|
|
66
73
|
# Update option
|
|
67
74
|
group.add_argument(
|
|
@@ -77,6 +77,7 @@ class TestInstall:
|
|
|
77
77
|
fetch=False,
|
|
78
78
|
clean=False,
|
|
79
79
|
skip_changes=False,
|
|
80
|
+
skip_scripts=False,
|
|
80
81
|
skip_default_group=False,
|
|
81
82
|
)
|
|
82
83
|
|
|
@@ -93,6 +94,7 @@ class TestInstall:
|
|
|
93
94
|
fetch=False,
|
|
94
95
|
clean=False,
|
|
95
96
|
skip_changes=False,
|
|
97
|
+
skip_scripts=False,
|
|
96
98
|
skip_default_group=False,
|
|
97
99
|
)
|
|
98
100
|
|
|
@@ -109,6 +111,7 @@ class TestInstall:
|
|
|
109
111
|
fetch=False,
|
|
110
112
|
clean=False,
|
|
111
113
|
skip_changes=False,
|
|
114
|
+
skip_scripts=False,
|
|
112
115
|
skip_default_group=False,
|
|
113
116
|
)
|
|
114
117
|
|
|
@@ -125,6 +128,7 @@ class TestInstall:
|
|
|
125
128
|
fetch=True,
|
|
126
129
|
clean=False,
|
|
127
130
|
skip_changes=False,
|
|
131
|
+
skip_scripts=False,
|
|
128
132
|
skip_default_group=False,
|
|
129
133
|
)
|
|
130
134
|
|
|
@@ -141,6 +145,7 @@ class TestInstall:
|
|
|
141
145
|
fetch=False,
|
|
142
146
|
clean=True,
|
|
143
147
|
skip_changes=False,
|
|
148
|
+
skip_scripts=False,
|
|
144
149
|
skip_default_group=False,
|
|
145
150
|
)
|
|
146
151
|
|
|
@@ -159,6 +164,7 @@ class TestInstall:
|
|
|
159
164
|
fetch=False,
|
|
160
165
|
clean=False,
|
|
161
166
|
skip_changes=False,
|
|
167
|
+
skip_scripts=False,
|
|
162
168
|
skip_default_group=False,
|
|
163
169
|
)
|
|
164
170
|
|
|
@@ -175,6 +181,7 @@ class TestInstall:
|
|
|
175
181
|
fetch=False,
|
|
176
182
|
clean=False,
|
|
177
183
|
skip_changes=False,
|
|
184
|
+
skip_scripts=False,
|
|
178
185
|
skip_default_group=False,
|
|
179
186
|
)
|
|
180
187
|
|
|
@@ -204,6 +211,7 @@ class TestUpdate:
|
|
|
204
211
|
recurse=False,
|
|
205
212
|
lock=None,
|
|
206
213
|
skip_changes=False,
|
|
214
|
+
skip_scripts=False,
|
|
207
215
|
)
|
|
208
216
|
|
|
209
217
|
@patch("gitman.commands.update")
|
|
@@ -220,6 +228,7 @@ class TestUpdate:
|
|
|
220
228
|
recurse=True,
|
|
221
229
|
lock=None,
|
|
222
230
|
skip_changes=False,
|
|
231
|
+
skip_scripts=False,
|
|
223
232
|
)
|
|
224
233
|
|
|
225
234
|
@patch("gitman.commands.update")
|
|
@@ -236,6 +245,7 @@ class TestUpdate:
|
|
|
236
245
|
recurse=False,
|
|
237
246
|
lock=False,
|
|
238
247
|
skip_changes=False,
|
|
248
|
+
skip_scripts=False,
|
|
239
249
|
)
|
|
240
250
|
|
|
241
251
|
@patch("gitman.commands.update")
|
|
@@ -252,6 +262,7 @@ class TestUpdate:
|
|
|
252
262
|
recurse=False,
|
|
253
263
|
lock=None,
|
|
254
264
|
skip_changes=True,
|
|
265
|
+
skip_scripts=False,
|
|
255
266
|
)
|
|
256
267
|
|
|
257
268
|
@patch("gitman.commands.update")
|
|
@@ -268,6 +279,7 @@ class TestUpdate:
|
|
|
268
279
|
recurse=False,
|
|
269
280
|
lock=None,
|
|
270
281
|
skip_changes=False,
|
|
282
|
+
skip_scripts=False,
|
|
271
283
|
)
|
|
272
284
|
|
|
273
285
|
@patch("gitman.commands.update")
|
|
@@ -284,6 +296,7 @@ class TestUpdate:
|
|
|
284
296
|
recurse=False,
|
|
285
297
|
lock=None,
|
|
286
298
|
skip_changes=False,
|
|
299
|
+
skip_scripts=False,
|
|
287
300
|
)
|
|
288
301
|
|
|
289
302
|
@patch("gitman.commands.update")
|
|
@@ -302,6 +315,7 @@ class TestUpdate:
|
|
|
302
315
|
recurse=False,
|
|
303
316
|
lock=None,
|
|
304
317
|
skip_changes=False,
|
|
318
|
+
skip_scripts=False,
|
|
305
319
|
)
|
|
306
320
|
|
|
307
321
|
@patch("gitman.commands.update")
|
|
@@ -318,6 +332,7 @@ class TestUpdate:
|
|
|
318
332
|
recurse=False,
|
|
319
333
|
lock=None,
|
|
320
334
|
skip_changes=False,
|
|
335
|
+
skip_scripts=False,
|
|
321
336
|
)
|
|
322
337
|
|
|
323
338
|
|
|
@@ -359,12 +374,12 @@ def describe_lock():
|
|
|
359
374
|
@patch("gitman.commands.lock")
|
|
360
375
|
def with_no_arguments(lock):
|
|
361
376
|
cli.main(["lock"])
|
|
362
|
-
lock.assert_called_once_with(root=None)
|
|
377
|
+
lock.assert_called_once_with(root=None, depth=5)
|
|
363
378
|
|
|
364
379
|
@patch("gitman.commands.lock")
|
|
365
380
|
def with_dependencies(lock):
|
|
366
381
|
cli.main(["lock", "foo", "bar"])
|
|
367
|
-
lock.assert_called_once_with("foo", "bar", root=None)
|
|
382
|
+
lock.assert_called_once_with("foo", "bar", root=None, depth=5)
|
|
368
383
|
|
|
369
384
|
|
|
370
385
|
class TestUninstall:
|
|
@@ -5,7 +5,8 @@ import os
|
|
|
5
5
|
import pytest
|
|
6
6
|
from expecter import expect
|
|
7
7
|
|
|
8
|
-
from gitman.models import Config, load_config
|
|
8
|
+
from gitman.models import Config, find_nested_configs, load_config
|
|
9
|
+
from gitman.models.config import filter_nested_configs
|
|
9
10
|
|
|
10
11
|
from .conftest import FILES
|
|
11
12
|
|
|
@@ -148,3 +149,16 @@ class TestLoad:
|
|
|
148
149
|
config = load_config()
|
|
149
150
|
|
|
150
151
|
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)
|
|
@@ -6,7 +6,6 @@ from gitman import plugin
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class TestMain:
|
|
9
|
-
|
|
10
9
|
"""Unit tests for the top-level arguments."""
|
|
11
10
|
|
|
12
11
|
@patch("gitman.cli.commands")
|
|
@@ -25,6 +24,7 @@ class TestMain:
|
|
|
25
24
|
force=False,
|
|
26
25
|
force_interactive=False,
|
|
27
26
|
skip_changes=False,
|
|
27
|
+
skip_scripts=False,
|
|
28
28
|
skip_default_group=False,
|
|
29
29
|
),
|
|
30
30
|
call.install().__bool__(), # command status check
|
|
@@ -47,6 +47,7 @@ class TestMain:
|
|
|
47
47
|
recurse=False,
|
|
48
48
|
lock=True,
|
|
49
49
|
skip_changes=False,
|
|
50
|
+
skip_scripts=False,
|
|
50
51
|
),
|
|
51
52
|
call.update().__bool__(), # command status check
|
|
52
53
|
] == mock_commands.mock_calls
|
|
@@ -68,6 +69,7 @@ class TestMain:
|
|
|
68
69
|
recurse=True,
|
|
69
70
|
lock=True,
|
|
70
71
|
skip_changes=False,
|
|
72
|
+
skip_scripts=False,
|
|
71
73
|
),
|
|
72
74
|
call.update().__bool__(), # command status check
|
|
73
75
|
] == mock_commands.mock_calls
|
|
@@ -89,6 +91,7 @@ class TestMain:
|
|
|
89
91
|
recurse=False,
|
|
90
92
|
lock=False,
|
|
91
93
|
skip_changes=False,
|
|
94
|
+
skip_scripts=False,
|
|
92
95
|
),
|
|
93
96
|
call.update().__bool__(), # command status check
|
|
94
97
|
] == mock_commands.mock_calls
|
|
@@ -110,6 +113,7 @@ class TestMain:
|
|
|
110
113
|
recurse=False,
|
|
111
114
|
lock=True,
|
|
112
115
|
skip_changes=True,
|
|
116
|
+
skip_scripts=False,
|
|
113
117
|
),
|
|
114
118
|
call.update().__bool__(), # command status check
|
|
115
119
|
] == mock_commands.mock_calls
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
|
|
3
3
|
name = "gitman"
|
|
4
|
-
version = "3.
|
|
4
|
+
version = "3.4.1b2"
|
|
5
5
|
description = "A language-agnostic dependency manager using Git."
|
|
6
6
|
|
|
7
7
|
license = "MIT"
|
|
@@ -33,6 +33,7 @@ classifiers = [
|
|
|
33
33
|
"Programming Language :: Python :: 3.8",
|
|
34
34
|
"Programming Language :: Python :: 3.9",
|
|
35
35
|
"Programming Language :: Python :: 3.10",
|
|
36
|
+
"Programming Language :: Python :: 3.11",
|
|
36
37
|
"Topic :: Software Development",
|
|
37
38
|
"Topic :: Software Development :: Build Tools",
|
|
38
39
|
"Topic :: Software Development :: Version Control",
|
|
@@ -43,7 +44,7 @@ classifiers = [
|
|
|
43
44
|
|
|
44
45
|
python = "^3.8"
|
|
45
46
|
|
|
46
|
-
datafiles = "^2.
|
|
47
|
+
datafiles = "^2.1.2"
|
|
47
48
|
minilog = "^2.1"
|
|
48
49
|
universal-startfile = "~0.2"
|
|
49
50
|
|
|
@@ -54,15 +55,15 @@ black = "^22.1"
|
|
|
54
55
|
isort = "^5.10"
|
|
55
56
|
|
|
56
57
|
# Linters
|
|
57
|
-
mypy = "
|
|
58
|
+
mypy = "^1.3"
|
|
58
59
|
pydocstyle = "*"
|
|
59
60
|
pylint = "~2.6"
|
|
60
61
|
types-freezegun = "*"
|
|
61
62
|
types-setuptools = "*"
|
|
62
63
|
|
|
63
64
|
# Testing
|
|
64
|
-
pytest = "^
|
|
65
|
-
pytest-cov = "
|
|
65
|
+
pytest = "^7.3"
|
|
66
|
+
pytest-cov = "^4.1"
|
|
66
67
|
pytest-describe = "^2.0"
|
|
67
68
|
pytest-expecter = "^3.0"
|
|
68
69
|
pytest-random = "*"
|
|
@@ -74,15 +75,15 @@ coveragespace = "^6.0"
|
|
|
74
75
|
# Documentation
|
|
75
76
|
mkdocs = "^1.2.3"
|
|
76
77
|
mkdocstrings = "^0.18.1"
|
|
77
|
-
pygments = "^2.
|
|
78
|
-
jinja2 = "~3.
|
|
78
|
+
pygments = "^2.15.0"
|
|
79
|
+
jinja2 = "~3.1.3"
|
|
79
80
|
|
|
80
81
|
# Tooling
|
|
81
82
|
pyinstaller = "^4.0"
|
|
82
83
|
sniffer = "*"
|
|
83
84
|
macfsevents = { version = "*", platform = "darwin" }
|
|
84
85
|
pync = { version = "*", platform = "darwin" }
|
|
85
|
-
rope = "^0.14
|
|
86
|
+
rope = "^0.14"
|
|
86
87
|
|
|
87
88
|
[tool.poetry.scripts]
|
|
88
89
|
|
gitman-3.4b3/setup.py
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
from setuptools import setup
|
|
3
|
-
|
|
4
|
-
packages = \
|
|
5
|
-
['gitman', 'gitman.models', 'gitman.tests']
|
|
6
|
-
|
|
7
|
-
package_data = \
|
|
8
|
-
{'': ['*'],
|
|
9
|
-
'gitman.tests': ['files/*',
|
|
10
|
-
'files/subdir/*',
|
|
11
|
-
'files/subdir/subsubdir/*',
|
|
12
|
-
'files/subdir/subsubdir/skip/subsubsubsubdir/*']}
|
|
13
|
-
|
|
14
|
-
install_requires = \
|
|
15
|
-
['datafiles>=2.0,<3.0', 'minilog>=2.1,<3.0', 'universal-startfile>=0.2,<0.3']
|
|
16
|
-
|
|
17
|
-
entry_points = \
|
|
18
|
-
{'console_scripts': ['git-deps = gitman.plugin:main',
|
|
19
|
-
'gitman = gitman.cli:main']}
|
|
20
|
-
|
|
21
|
-
setup_kwargs = {
|
|
22
|
-
'name': 'gitman',
|
|
23
|
-
'version': '3.4b3',
|
|
24
|
-
'description': 'A language-agnostic dependency manager using Git.',
|
|
25
|
-
'long_description': '## Overview\n\nGitman is a language-agnostic dependency manager using Git. It aims to serve as a submodules replacement and provides advanced options for managing versions of nested Git repositories.\n\n[](https://asciinema.org/a/3DLos4HIU84P0AfFlZMYcgPus)\n\n[](https://travis-ci.com/jacebrowning/gitman)\n[](https://ci.appveyor.com/project/jacebrowning/gitman)\n[](https://coveralls.io/r/jacebrowning/gitman)\n[](https://scrutinizer-ci.com/g/jacebrowning/gitman/?branch=main)\n[](https://pypi.org/project/gitman)\n[](https://pypi.org/project/gitman)\n[](https://pypistats.org/packages/gitman)\n\n## Setup\n\n### Requirements\n\n- Python 3.8+\n- Git 2.8+ (with [stored credentials](http://gitman.readthedocs.io/en/latest/setup/git/))\n\n### Installation\n\nInstall this tool globally with [pipx](https://pipxproject.github.io/pipx/) (or pip):\n\n```sh\n$ pipx install gitman\n```\nor add it to your [Poetry](https://python-poetry.org/docs/) project:\n\n```sh\n$ poetry add gitman\n```\n\n### Configuration\n\nGenerate a sample config file:\n\n```sh\n$ gitman init\n```\n\nor manually create one (`gitman.yml` or `.gitman.yml`) in the root of your working tree:\n\n```yaml\nlocation: vendor/gitman\n\nsources:\n - repo: "https://github.com/kstenerud/iOS-Universal-Framework"\n name: framework\n rev: Mk5-end-of-life\n - repo: "https://github.com/jonreid/XcodeCoverage"\n name: coverage\n links:\n - target: Tools/XcodeCoverage\n - repo: "https://github.com/dxa4481/truffleHog"\n name: trufflehog\n rev: master\n scripts:\n - chmod a+x truffleHog/truffleHog.py\n - repo: "https://github.com/FortAwesome/Font-Awesome"\n name: fontawesome\n rev: master\n sparse_paths:\n - "webfonts/*"\n - repo: "https://github.com/google/material-design-icons"\n name: material-design-icons\n rev: master\n\ngroups:\n - name: code\n members:\n - framework\n - trufflehog\n - name: resources\n members:\n - fontawesome\n - material-design-icons\n\ndefault_group: code\n```\n\nIgnore the dependency storage location:\n\n```sh\n$ echo vendor/gitman >> .gitignore\n```\n\n## Usage\n\nSee the available commands:\n\n```sh\n$ gitman --help\n```\n\n### Updating Dependencies\n\nGet the latest versions of all dependencies:\n\n```sh\n$ gitman update\n```\n\nwhich will essentially:\n\n1. Create a working tree at `<root>`/`<location>`/`<name>`\n2. Fetch from `repo` and checkout the specified `rev`\n3. Symbolically link each `<location>`/`<name>` from `<root>`/`<link>` (if specified)\n4. Repeat for all nested working trees containing a config file\n5. Record the actual commit SHAs that were checked out (with `--lock` option)\n6. Run optional post-install scripts for each dependency\n\nwhere `rev` can be:\n\n- all or part of a commit SHA: `123def`\n- a tag: `v1.0`\n- a branch: `main`\n- a `rev-parse` date: `\'main@{2015-06-18 10:30:59}\'`\n\nAlternatively, get the latest versions of specific dependencies:\n\n```sh\n$ gitman update framework\n```\n\nor named groups:\n\n```sh\n$ gitman update resources\n```\n\n### Restoring Previous Versions\n\nDisplay the versions that are currently installed:\n\n```sh\n$ gitman list\n```\n\nReinstall these specific versions at a later time:\n\n```sh\n$ gitman install\n```\n\n### Deleting Dependencies\n\nRemove all installed dependencies:\n\n```sh\n$ gitman uninstall\n```\n\n## Resources\n\n- [Source code](https://github.com/jacebrowning/gitman)\n- [Issue tracker](https://github.com/jacebrowning/gitman/issues)\n- [Release history](https://github.com/jacebrowning/gitman/blob/main/CHANGELOG.md)\n',
|
|
26
|
-
'author': 'Jace Browning',
|
|
27
|
-
'author_email': 'jacebrowning@gmail.com',
|
|
28
|
-
'maintainer': 'None',
|
|
29
|
-
'maintainer_email': 'None',
|
|
30
|
-
'url': 'https://pypi.org/project/gitman',
|
|
31
|
-
'packages': packages,
|
|
32
|
-
'package_data': package_data,
|
|
33
|
-
'install_requires': install_requires,
|
|
34
|
-
'entry_points': entry_points,
|
|
35
|
-
'python_requires': '>=3.8,<4.0',
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
setup(**setup_kwargs)
|
|
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.4b3 → gitman-3.4.1b2}/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
|