summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xscripts/qt/branch_qt.py27
1 files changed, 14 insertions, 13 deletions
diff --git a/scripts/qt/branch_qt.py b/scripts/qt/branch_qt.py
index 42b30798..11100b38 100755
--- a/scripts/qt/branch_qt.py
+++ b/scripts/qt/branch_qt.py
@@ -85,6 +85,8 @@ def is_major_minor_patch(version: str) -> bool:
parts = version.split('.')
return len(parts) == 3 and all(x.isdigit() for x in parts)
+def get_repo_name(repo: git.Repo) -> str:
+ return os.path.basename(repo.working_dir)
class QtBranching:
def __init__(self, mode: Mode, fromBranch: str, toBranch: str, pretend: bool, skip_hooks: bool) -> None:
@@ -241,7 +243,7 @@ class QtBranching:
return repo
def branch_repo(self, repo: git.Repo) -> None:
- repo_name = os.path.basename(repo.working_dir)
+ repo_name = get_repo_name(repo)
if repo_name in skipped_submodules:
log.info(f"Skipping {repo_name} (not branched)")
return
@@ -255,40 +257,39 @@ class QtBranching:
if not repo_name in (extra_repo.split('/')[-1] for extra_repo in extra_repositories):
self.subprocess_or_pretend(f"git config -f ../.gitmodules submodule.{repo_name}.branch {self.toBranch}".split())
- def push(self):
- self.subprocess_or_pretend(f'git push gerrit {self.toBranch}:{self.toBranch}'.split(), check=True)
-
def merge_repo(self, repo: git.Repo) -> None:
- log.info(f"Merge: {repo.working_dir}")
+ repo_name = get_repo_name(repo)
+ log.info(f"Merge: {repo_name} ({self.fromBranch} -> {self.toBranch})")
self.checkout_and_pull_branch(repo, self.toBranch)
try:
subprocess.run(f'git merge --ff-only --quiet gerrit/{self.fromBranch}'.split(), check=True, stderr=subprocess.PIPE)
- self.push()
+ self.push(repo_name, self.toBranch)
except subprocess.CalledProcessError:
# The merge was not fast forward, try again
try:
- log.info(f" Attempting non ff merge for {repo.working_dir}")
+ log.info(f" Attempting non ff merge for {repo_name}")
subprocess.run(['git', 'merge', f'gerrit/{self.fromBranch}', '--quiet', '-m', f'Merge {self.fromBranch} into {self.toBranch}'], check=True)
- self.push()
+ self.push(repo_name, self.toBranch)
except subprocess.CalledProcessError:
- log.warning(f" Merge had conflicts. {repo.working_dir} needs to be merged manually!")
+ log.warning(f" Merge had conflicts. {repo_name} needs to be merged manually!")
def sync_repo(self, repo: git.Repo) -> None:
- log.info(f"Sync: {repo.working_dir} ({self.fromBranch} -> {self.toBranch})")
+ repo_name = get_repo_name(repo)
+ log.info(f"Sync: {repo_name} ({self.fromBranch} -> {self.toBranch})")
self.checkout_and_pull_branch(repo, self.toBranch)
try:
subprocess.run(f'git merge --ff-only --quiet gerrit/{self.fromBranch}'.split(), check=True, stderr=subprocess.PIPE)
- self.push()
+ self.push(repo_name, self.toBranch)
except Exception as e:
- log.exception(f"Could not sync repository: {repo.working_dir}")
+ log.exception(f"Could not sync repository: {repo_name}")
def version_bump_repo(self, repo: git.Repo) -> None:
qmake_conf_file_name = '.qmake.conf'
with open(qmake_conf_file_name, mode='r', encoding='utf-8') as qmake_conf:
qmake_conf_content = qmake_conf.read()
match = re.search(r'^MODULE_VERSION *= *([0-9\.]+)\b.*', qmake_conf_content, flags=re.MULTILINE)
- repo_name = os.path.basename(repo.working_dir)
+ repo_name = get_repo_name(repo)
if not match:
log.warning(f"could not read version in {repo_name}")
return