Merge pull request 'fixes' (#111) from fixes into main
ogclient/pipeline/head This commit looks good Details
ogclient/pipeline/tag This commit looks good Details

Reviewed-on: #111
pull/112/head 1.4.1
Vadim vtroshchinskiy 2025-09-05 09:35:59 +02:00
commit da1b392ff8
3 changed files with 32 additions and 6 deletions

View File

@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.4.1] - 2025-09-05
## Change
- Oggit branch creation fixes
- Oggit checked out repo integrity checking
## [1.4.0] - 2025-08-28

View File

@ -86,8 +86,11 @@ def commit_image(disk_num, partition_num, repository, branch, options, msg):
try:
if branch:
if not og_git.create_branch(device = device, name = branch):
sys.exit(SystemLib.ogRaiseError([], ogGlobals.OG_ERR_FORMAT, f"Failed to create branch"))
if og_git.get_current_branch(device = device) == branch:
SystemLib.ogEcho(["command"], "info", "Branch same as active branch, not creating one.")
else:
if not og_git.create_branch(device = device, name = branch):
sys.exit(SystemLib.ogRaiseError([], ogGlobals.OG_ERR_FORMAT, f"Failed to create branch"))
og_git.commit(device = device, message = msg)
og_git.push(device = device, force = force_push)

View File

@ -1626,6 +1626,23 @@ class OpengnsysGitLibrary:
# Restaurar cosas modificadas para git
self._restore_metadata(path, destructive_only=True)
def get_current_branch(self, path = None, device = None):
"""Returns the current active branch
Args:
path (string, optional): Mountpoint
device (string, optional): Device. Either mountpoint or device must be provided.
Returns:
string: Branch name
"""
if path is None:
path = self.fs.ensure_mounted(device)
repo = git.Repo(path)
return repo.active_branch.name
def create_branch(self, path = None, device = None, name = ""):
if path is None:
path = self.fs.ensure_mounted(device)
@ -1742,21 +1759,21 @@ class OpengnsysGitLibrary:
meta_dir = os.path.join(path, ".opengnsys-metadata")
if not os.path.exists(meta_dir):
self.logger.error("Metadata directory is missing")
return False
return True
restore_meta_lock = os.path.join(meta_dir, "restore_metadata.lock")
create_meta_lock = os.path.join(meta_dir, "restore_metadata.lock")
if os.path.exists(restore_meta_lock):
self.logger.error("Metadata restoration didn't finish")
return False
return True
if os.path.exists(create_meta_lock):
self.logger.error("Metadata creation didn't finish")
return False
return True
self.logger.info("Check ok")
return True
return False