ScriptCollection 3.5.114__py3-none-any.whl → 3.5.115__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.115"
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)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ScriptCollection
3
- Version: 3.5.114
3
+ Version: 3.5.115
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
9
+ ScriptCollection/ScriptCollectionCore.py,sha256=GdoH7P6iAgIYVNg_7zbcEGS2tDd2mY1zNoIbSlGdBdM,131500
10
10
  ScriptCollection/TasksForCommonProjectStructure.py,sha256=d-fbnVk6DvsOIppn-rDslBHhMOsuPFAMRIacvu-F5eo,233988
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.115.dist-info/METADATA,sha256=PHmpwtvb892XkYTsogu0aRnXb8MpLS2VGyz2r62jt78,7694
13
+ scriptcollection-3.5.115.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
14
+ scriptcollection-3.5.115.dist-info/entry_points.txt,sha256=3qMbfZEMhc_VTJj-bcLwB8AWcn9iXSB3l0AWpuu52Bs,3689
15
+ scriptcollection-3.5.115.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
16
+ scriptcollection-3.5.115.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