mepo 2.3.0__tar.gz → 2.3.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 (110) hide show
  1. {mepo-2.3.0 → mepo-2.3.2}/CHANGELOG.md +12 -0
  2. {mepo-2.3.0 → mepo-2.3.2}/PKG-INFO +1 -1
  3. {mepo-2.3.0 → mepo-2.3.2}/pyproject.toml +1 -1
  4. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/checkout-if-exists.py +3 -1
  5. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/checkout.py +1 -1
  6. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/clone.py +3 -3
  7. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/develop.py +1 -1
  8. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/restore-state.py +1 -1
  9. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/git.py +4 -2
  10. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/registry.py +4 -2
  11. {mepo-2.3.0 → mepo-2.3.2}/tests/test_mepo_commands.py +1 -1
  12. {mepo-2.3.0 → mepo-2.3.2}/.editorconfig +0 -0
  13. {mepo-2.3.0 → mepo-2.3.2}/.github/CODEOWNERS +0 -0
  14. {mepo-2.3.0 → mepo-2.3.2}/.github/workflows/changelog-enforcer.yml +0 -0
  15. {mepo-2.3.0 → mepo-2.3.2}/.github/workflows/run-formatter.yaml +0 -0
  16. {mepo-2.3.0 → mepo-2.3.2}/.github/workflows/run-linter.yaml +0 -0
  17. {mepo-2.3.0 → mepo-2.3.2}/.github/workflows/run-tests.yaml +0 -0
  18. {mepo-2.3.0 → mepo-2.3.2}/.gitignore +0 -0
  19. {mepo-2.3.0 → mepo-2.3.2}/.pre-commit-config.yaml +0 -0
  20. {mepo-2.3.0 → mepo-2.3.2}/.zenodo.json +0 -0
  21. {mepo-2.3.0 → mepo-2.3.2}/CODE_OF_CONDUCT.md +0 -0
  22. {mepo-2.3.0 → mepo-2.3.2}/CONTRIBUTING.md +0 -0
  23. {mepo-2.3.0 → mepo-2.3.2}/COPYRIGHT +0 -0
  24. {mepo-2.3.0 → mepo-2.3.2}/LICENSE +0 -0
  25. {mepo-2.3.0 → mepo-2.3.2}/LICENSE-NOSA +0 -0
  26. {mepo-2.3.0 → mepo-2.3.2}/README.md +0 -0
  27. {mepo-2.3.0 → mepo-2.3.2}/docs/.gitignore +0 -0
  28. {mepo-2.3.0 → mepo-2.3.2}/docs/make_md_docs.py +0 -0
  29. {mepo-2.3.0 → mepo-2.3.2}/etc/mepo-cd.bash +0 -0
  30. {mepo-2.3.0 → mepo-2.3.2}/etc/mepo-cd.csh +0 -0
  31. {mepo-2.3.0 → mepo-2.3.2}/etc/mepo-cd.zsh +0 -0
  32. {mepo-2.3.0 → mepo-2.3.2}/etc/mepo-completion.bash +0 -0
  33. {mepo-2.3.0 → mepo-2.3.2}/etc/mepoconfig-example +0 -0
  34. {mepo-2.3.0 → mepo-2.3.2}/mepo.spec +0 -0
  35. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/__init__.py +0 -0
  36. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/__main__.py +0 -0
  37. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/cmdline/__init__.py +0 -0
  38. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/cmdline/branch_parser.py +0 -0
  39. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/cmdline/config_parser.py +0 -0
  40. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/cmdline/parser.py +0 -0
  41. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/cmdline/stash_parser.py +0 -0
  42. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/cmdline/tag_parser.py +0 -0
  43. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/__init__.py +0 -0
  44. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/branch.py +0 -0
  45. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/branch_create.py +0 -0
  46. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/branch_delete.py +0 -0
  47. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/branch_list.py +0 -0
  48. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/changed-files.py +0 -0
  49. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/commit.py +0 -0
  50. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/compare.py +0 -0
  51. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/config.py +0 -0
  52. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/config_delete.py +0 -0
  53. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/config_get.py +0 -0
  54. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/config_print.py +0 -0
  55. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/config_set.py +0 -0
  56. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/diff.py +0 -0
  57. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/fetch.py +0 -0
  58. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/init.py +0 -0
  59. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/list.py +0 -0
  60. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/pull-all.py +0 -0
  61. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/pull.py +0 -0
  62. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/push.py +0 -0
  63. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/reset.py +0 -0
  64. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/save.py +0 -0
  65. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/stage.py +0 -0
  66. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/stash.py +0 -0
  67. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/stash_apply.py +0 -0
  68. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/stash_list.py +0 -0
  69. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/stash_pop.py +0 -0
  70. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/stash_push.py +0 -0
  71. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/stash_show.py +0 -0
  72. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/status.py +0 -0
  73. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/tag.py +0 -0
  74. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/tag_create.py +0 -0
  75. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/tag_delete.py +0 -0
  76. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/tag_list.py +0 -0
  77. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/tag_push.py +0 -0
  78. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/unstage.py +0 -0
  79. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/update-state.py +0 -0
  80. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/command/whereis.py +0 -0
  81. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/component.py +0 -0
  82. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/state.py +0 -0
  83. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/utilities/__init__.py +0 -0
  84. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/utilities/chdir.py +0 -0
  85. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/utilities/colors.py +0 -0
  86. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/utilities/exceptions.py +0 -0
  87. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/utilities/mepoconfig.py +0 -0
  88. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/utilities/shellcmd.py +0 -0
  89. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/utilities/verify.py +0 -0
  90. {mepo-2.3.0 → mepo-2.3.2}/src/mepo/utilities/version.py +0 -0
  91. {mepo-2.3.0 → mepo-2.3.2}/tests/input/components.yaml +0 -0
  92. {mepo-2.3.0 → mepo-2.3.2}/tests/input/external-components.yaml +0 -0
  93. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_branch_create.txt +0 -0
  94. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_branch_delete.txt +0 -0
  95. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_branch_list.txt +0 -0
  96. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_clone_status.txt +0 -0
  97. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_compare.txt +0 -0
  98. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_compare_all.txt +0 -0
  99. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_develop_status.txt +0 -0
  100. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_diff.txt +0 -0
  101. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_list.txt +0 -0
  102. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_pull_all.txt +0 -0
  103. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_push.txt +0 -0
  104. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_reset.txt +0 -0
  105. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_tag_create.txt +0 -0
  106. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_tag_delete.txt +0 -0
  107. {mepo-2.3.0 → mepo-2.3.2}/tests/output/output_whereis.txt +0 -0
  108. {mepo-2.3.0 → mepo-2.3.2}/tests/test_component.py +0 -0
  109. {mepo-2.3.0 → mepo-2.3.2}/tests/test_mepo_clone.py +0 -0
  110. {mepo-2.3.0 → mepo-2.3.2}/tests/test_registry.py +0 -0
@@ -13,6 +13,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
13
13
 
14
14
  ### Changed
15
15
 
16
+ ## [2.3.2] - 2025-04-24
17
+
18
+ ### Fixed
19
+
20
+ - Fixed `checkout` command to use `--recurse-submodules` if component has submodules
21
+
22
+ ## [2.3.1] - 2025-04-16
23
+
24
+ ### Fixed
25
+
26
+ - Fixed `clone` to allow for fixtures without a `develop:` key in `components.yaml`
27
+
16
28
  ## [2.3.0] - 2025-01-12
17
29
 
18
30
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mepo
3
- Version: 2.3.0
3
+ Version: 2.3.2
4
4
  Summary: A tool for managing (m)ultiple r(epo)s
5
5
  Author-email: GMAO SI Team <siteam@gmao.gsfc.nasa.gov>
6
6
  License-Expression: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mepo"
3
- version = "2.3.0"
3
+ version = "2.3.2"
4
4
  description = "A tool for managing (m)ultiple r(epo)s"
5
5
  authors = [{name="GMAO SI Team", email="siteam@gmao.gsfc.nasa.gov"}]
6
6
  dependencies = [
@@ -30,4 +30,6 @@ def run(args):
30
30
  colors.RESET + comp.name + colors.RESET,
31
31
  )
32
32
  )
33
- git.checkout(ref_name, args.detach)
33
+ git.checkout(
34
+ ref_name, detach=args.detach, recurse=comp.recurse_submodules
35
+ )
@@ -30,7 +30,7 @@ def run(args):
30
30
  colors.RESET + comp.name + colors.RESET,
31
31
  )
32
32
  )
33
- git.checkout(branch, args.detach)
33
+ git.checkout(branch, detach=args.detach, recurse=comp.recurse_submodules)
34
34
 
35
35
 
36
36
  def _get_comps_to_checkout(specified_comps, allcomps):
@@ -68,7 +68,7 @@ def clone_fixture(url, branch=None, directory=None, partial=None):
68
68
  last_url_node = p.path.rsplit("/")[-1]
69
69
  directory = pathlib.Path(last_url_node).stem
70
70
  git = GitRepository(url, directory)
71
- git.clone(branch, partial)
71
+ git.clone(branch, partial=partial)
72
72
  return directory
73
73
 
74
74
 
@@ -105,7 +105,7 @@ def clone_components(allcomps, partial):
105
105
  version = comp.version.name
106
106
  version = version.replace("origin/", "")
107
107
  git = GitRepository(comp.remote, comp.local)
108
- git.clone(version, recurse_submodules, partial)
108
+ git.clone(version, recurse=recurse_submodules, partial=partial)
109
109
  if comp.sparse:
110
110
  git.sparsify(comp.sparse)
111
111
  print_clone_info(comp.name, comp.version, max_namelen)
@@ -123,4 +123,4 @@ def checkout_all_repos(allcomps, branch):
123
123
  branch_y = colors.YELLOW + branch + colors.RESET
124
124
  print(f"Checking out {branch_y} in {comp.name}")
125
125
  git = GitRepository(comp.remote, comp.local)
126
- git.checkout(branch)
126
+ git.checkout(branch, recurse=comp.recurse_submodules)
@@ -20,5 +20,5 @@ def run(args):
20
20
  colors.RESET + comp.name + colors.RESET,
21
21
  )
22
22
  )
23
- git.checkout(comp.develop)
23
+ git.checkout(comp.develop, recurse=comp.recurse_submodules)
24
24
  _ = git.pull()
@@ -41,4 +41,4 @@ def restore_state(allcomps, result):
41
41
  colors.RED + current_version + colors.RESET,
42
42
  )
43
43
  )
44
- git.checkout(comp.version.name)
44
+ git.checkout(comp.version.name, recurse=comp.recurse_submodules)
@@ -60,10 +60,12 @@ class GitRepository:
60
60
  shellcmd.run(shlex.split(cmd))
61
61
 
62
62
  if version is not None:
63
- self.checkout(version)
63
+ self.checkout(version, recurse=recurse)
64
64
 
65
- def checkout(self, version, detach=False):
65
+ def checkout(self, version, detach=False, recurse=None):
66
66
  cmd = self.__git + " checkout "
67
+ if recurse is not None:
68
+ cmd += " --recurse-submodules "
67
69
  cmd += "--quiet {}".format(version)
68
70
  shellcmd.run(shlex.split(cmd))
69
71
  if detach:
@@ -35,9 +35,11 @@ class Registry(object):
35
35
  num_fixtures = 0
36
36
  for k, v in d.items():
37
37
  if "fixture" in v:
38
- # In case of a fixture, develop is the only additional key
38
+ # In case of a fixture, develop is the only additional allowed key
39
39
  num_fixtures += 1
40
- assert list(v.keys()) == ["fixture", "develop"]
40
+ required_ = ["fixture"]
41
+ optional_ = ["develop"]
42
+ assert list(v.keys()) in (required_, required_ + optional_)
41
43
  else:
42
44
  # For non-fixture, one and only one of branch/tag/hash allowed
43
45
  xsection = git_tag_types.intersection(set(v.keys()))
@@ -337,7 +337,7 @@ class TestMepoCommands(unittest.TestCase):
337
337
  self.__class__.__mepo_clone()
338
338
 
339
339
  def test_mepo_version(self):
340
- self.assertEqual(get_mepo_version(), "2.3.0")
340
+ self.assertEqual(get_mepo_version(), "2.3.2")
341
341
 
342
342
  def tearDown(self):
343
343
  pass
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
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
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