Skip to content

Commit 6d8a8ad

Browse files
authored
Merge pull request openSUSE#1980 from danigm/fork-git-branch
fork: Add --git-branch optional argument
2 parents c62564a + b51c9da commit 6d8a8ad

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

osc/commands/fork.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,11 @@ def init_arguments(self):
5858

5959
self.add_argument_new_repo_name()
6060

61+
self.add_argument(
62+
"--git-branch",
63+
help="Name of the new git branch",
64+
)
65+
6166
self.add_argument(
6267
"--no-devel-project",
6368
action="store_true",
@@ -174,6 +179,17 @@ def run(self, args):
174179
print(f" * You may also want to delete '{e.owner}/{e.repo}' and retry")
175180
sys.exit(1)
176181

182+
# Crete the new branch if specified
183+
if args.git_branch:
184+
old_ref_name = fork_branch
185+
fork_branch = args.git_branch
186+
try:
187+
parent_branch_obj = gitea_api.Branch.create(
188+
gitea_conn, fork_owner, fork_repo, old_ref_name=old_ref_name, new_branch_name=fork_branch
189+
)
190+
except gitea_api.BranchExists:
191+
print(f" * Branch already exists: {fork_branch}")
192+
177193
# XXX: implicit branch name should be forbidden; assumptions are bad
178194
fork_scmsync = urllib.parse.urlunparse(
179195
(parsed_scmsync_url.scheme, parsed_scmsync_url.netloc, f"{fork_owner}/{fork_repo}", "", parsed_scmsync_url.query, fork_branch)

0 commit comments

Comments
 (0)