Skip to content

Commit f7b866a

Browse files
committed
Move create_and_switch_to_branch to util.git
1 parent 75093f4 commit f7b866a

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

exasol/toolbox/nox/_release.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@
1919
new_changes,
2020
new_unreleased,
2121
)
22+
from exasol.toolbox.util.git import Git
2223
from exasol.toolbox.util.version import (
2324
ReleaseTypes,
2425
Version,
2526
)
2627
from noxconfig import PROJECT_CONFIG
2728

2829

29-
def _create_release_prepare_parser() -> argparse.ArgumentParser:
30+
def _create_parser() -> argparse.ArgumentParser:
3031
parser = argparse.ArgumentParser(
3132
prog="nox -s release:prepare",
3233
usage="nox -s release:prepare -- [-h] [-t | --type {major,minor,patch}]",
@@ -133,19 +134,17 @@ def prepare_release(session: Session) -> None:
133134
"""
134135
Prepare the project for a new release.
135136
"""
136-
parser = _create_release_prepare_parser()
137+
parser = _create_parser()
137138
args = parser.parse_args(session.posargs)
138-
139139
new_version = Version.upgrade_version_from_poetry(args.type)
140140

141141
if not args.no_branch and not args.no_add:
142-
session.run("git", "switch", "-c", f"release/prepare-{new_version}")
143-
144-
pm = NoxTasks.plugin_manager(PROJECT_CONFIG)
142+
Git.create_and_switch_to_branch(f"release/prepare-{new_version}")
145143

146144
_ = _update_project_version(session, new_version)
147145
changelog, changes, unreleased = _update_changelog(new_version)
148146

147+
pm = NoxTasks.plugin_manager(PROJECT_CONFIG)
149148
pm.hook.prepare_release_update_version(
150149
session=session, config=PROJECT_CONFIG, version=new_version
151150
)

exasol/toolbox/util/git.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,8 @@ def copy_remote_file_locally(
4444
contents = Git.read_file_from_tag(tag=tag, remote_file=remote_file)
4545
destination_filepath = destination_directory / remote_file
4646
destination_filepath.write_text(contents)
47+
48+
@staticmethod
49+
@run_command
50+
def create_and_switch_to_branch(branch_name: str) -> str:
51+
return f"git switch -c {branch_name}"

0 commit comments

Comments
 (0)