diff --git a/aider_gitea/__main__.py b/aider_gitea/__main__.py index 900c0bb..20d4730 100644 --- a/aider_gitea/__main__.py +++ b/aider_gitea/__main__.py @@ -108,6 +108,21 @@ def parse_args(): parser.add_argument("--base-branch", default="main", help="Base branch to use for new branches (default: main)") return parser.parse_args() +def push_changes(branch_name: str, issue_title: str, issue_description: str, base_branch: str) -> None: + cmd = [ + "git", + "push", + "origin", + f"HEAD:refs/for/{base_branch}", + "-o", + f"topic={branch_name}", + "-o", + f"title={issue_title}", + "-o", + f"description={issue_description}" + ] + run_cmd(cmd) + def run_cmd(cmd: list[str], cwd:Path|None=None) -> None: print(cmd) subprocess.run(cmd, check=True, cwd=cwd) @@ -120,7 +135,7 @@ def process_issue(args, tmpdirname: Path, branch_name: str, issue_title: str, is run_cmd(["git", "checkout", "-b", branch_name], tmpdirname) run_cmd(create_aider_command(f'# {issue_title}\n{issue_description}'), tmpdirname) run_cmd(["git", "add", "."], tmpdirname) - run_cmd(["git", "push", "origin", branch_name], tmpdirname) + push_changes(branch_name, issue_title, issue_description, args.base_branch) def main(): logging.basicConfig(level='INFO')