ScriptCollection 3.5.114__py3-none-any.whl → 3.5.116__py3-none-any.whl

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.
@@ -33,7 +33,7 @@ from .ProgramRunnerBase import ProgramRunnerBase
33
33
  from .ProgramRunnerPopen import ProgramRunnerPopen
34
34
  from .ProgramRunnerEpew import ProgramRunnerEpew, CustomEpewArgument
35
35
 
36
- version = "3.5.114"
36
+ version = "3.5.116"
37
37
  __version__ = version
38
38
 
39
39
 
@@ -469,6 +469,21 @@ class ScriptCollectionCore:
469
469
  if undo_all_changes_after_checkout:
470
470
  self.git_undo_all_changes(directory)
471
471
 
472
+ @GeneralUtilities.check_arguments
473
+ def merge_repository(self, repository_folder: str, remote: str, branch: str, pull_first_if_there_are_no_uncommitted_changes: bool = True):
474
+ if pull_first_if_there_are_no_uncommitted_changes:
475
+ uncommitted_changes = self.git_repository_has_uncommitted_changes(repository_folder)
476
+ if not uncommitted_changes:
477
+ self.git_pull(repository_folder, remote, branch, branch)
478
+ uncommitted_changes = self.git_repository_has_uncommitted_changes(repository_folder)
479
+ GeneralUtilities.assert_condition(not uncommitted_changes, f"Pulling remote \"{remote}\" in \"{repository_folder}\" caused new uncommitted files.")
480
+ self.git_checkout(repository_folder, branch)
481
+ self.git_commit(repository_folder, "Automatic commit due to merge")
482
+ self.git_fetch(repository_folder, remote)
483
+ self.git_merge(repository_folder, f"{remote}/{branch}", branch)
484
+ self.git_push_with_retry(repository_folder, remote, branch, branch)
485
+ self.git_checkout(repository_folder, branch)
486
+
472
487
  @GeneralUtilities.check_arguments
473
488
  def git_merge_abort(self, directory: str) -> None:
474
489
  self.assert_is_git_repository(directory)
@@ -1457,9 +1457,11 @@ class TasksForCommonProjectStructure:
1457
1457
  sc.run_program("docker-pushrm", f"{repo}", codeunit_folder, verbosity=verbosity)
1458
1458
 
1459
1459
  @GeneralUtilities.check_arguments
1460
- def get_dependent_code_units(self, codeunit_file: str) -> set[str]:
1460
+ def get_dependent_code_units(self, codeunit_file: str) -> list[str]:
1461
1461
  root: etree._ElementTree = etree.parse(codeunit_file)
1462
- return set(root.xpath('//cps:dependentcodeunit/text()', namespaces={'cps': 'https://projects.aniondev.de/PublicProjects/Common/ProjectTemplates/-/tree/main/Conventions/RepositoryStructure/CommonProjectStructure'}))
1462
+ result = set(root.xpath('//cps:dependentcodeunit/text()', namespaces={'cps': 'https://projects.aniondev.de/PublicProjects/Common/ProjectTemplates/-/tree/main/Conventions/RepositoryStructure/CommonProjectStructure'}))
1463
+ result = sorted(result)
1464
+ return result
1463
1465
 
1464
1466
  @GeneralUtilities.check_arguments
1465
1467
  def dependent_codeunit_exists(self, repository: str, codeunit: str) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ScriptCollection
3
- Version: 3.5.114
3
+ Version: 3.5.116
4
4
  Summary: The ScriptCollection is the place for reusable scripts.
5
5
  Home-page: https://github.com/anionDev/ScriptCollection
6
6
  Author: Marius Göcke
@@ -6,11 +6,11 @@ ScriptCollection/ProgramRunnerBase.py,sha256=2kMIAqdc65UjBAddOZkzy_aFx9h5roZ5a4b
6
6
  ScriptCollection/ProgramRunnerEpew.py,sha256=4pjEd0r9Fcz3TTDv0MdTSd5KkigYXcWUVI1X43regfU,6477
7
7
  ScriptCollection/ProgramRunnerPopen.py,sha256=BPY7-ZMIlqT7JOKz8qlB5c0laF2Js-ijzqk09GxZC48,3821
8
8
  ScriptCollection/SCLog.py,sha256=5qjOBYiliyHV57GY8Y5dgUek512EVI8AzBF288R4fn4,2377
9
- ScriptCollection/ScriptCollectionCore.py,sha256=21z_31w4QQOJWxU7o_ByGoQ7ZDX8i1t-h2YXjDEYMPQ,130404
10
- ScriptCollection/TasksForCommonProjectStructure.py,sha256=d-fbnVk6DvsOIppn-rDslBHhMOsuPFAMRIacvu-F5eo,233988
9
+ ScriptCollection/ScriptCollectionCore.py,sha256=mxwraw6MzY2MridnXdqNMIJhyQwKDbmYfioLT23wVlA,131500
10
+ ScriptCollection/TasksForCommonProjectStructure.py,sha256=OfCJsg-FLdde6Duhy4FjBcfwLr-9iLhQAimRa1ZgRyE,234045
11
11
  ScriptCollection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- scriptcollection-3.5.114.dist-info/METADATA,sha256=Zm0Jk650RKLdLRpBa584_HYg8n14MCno5lSJ5ils1b4,7694
13
- scriptcollection-3.5.114.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
14
- scriptcollection-3.5.114.dist-info/entry_points.txt,sha256=3qMbfZEMhc_VTJj-bcLwB8AWcn9iXSB3l0AWpuu52Bs,3689
15
- scriptcollection-3.5.114.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
16
- scriptcollection-3.5.114.dist-info/RECORD,,
12
+ scriptcollection-3.5.116.dist-info/METADATA,sha256=EEs50mvJLrn5UXelfeULknJPrW5f-qN8e-KnF81hNew,7694
13
+ scriptcollection-3.5.116.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
14
+ scriptcollection-3.5.116.dist-info/entry_points.txt,sha256=3qMbfZEMhc_VTJj-bcLwB8AWcn9iXSB3l0AWpuu52Bs,3689
15
+ scriptcollection-3.5.116.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
16
+ scriptcollection-3.5.116.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.4.0)
2
+ Generator: setuptools (80.7.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5