Pull request branch name should contain both the issue number and the title of the issue. #14

Merged
Jmaa merged 2 commits from jmaa/issue-pull-request-branch-name-should-contain-both-the-issue-number-and-the-title-of-the-issue into main 2025-04-13 14:47:39 +00:00
2 changed files with 21 additions and 2 deletions

View File

@ -18,7 +18,7 @@ import re
from . import secrets
def generate_branch_name(issue_title: str) -> str:
def generate_branch_name(issue_number: str, issue_title: str) -> str:
"""
Create a branch name by sanitizing the issue title.
Non-alphanumeric characters (except spaces) are removed,
@ -149,7 +149,7 @@ def main():
issue_number = issue.get("number")
issue_description = issue.get("body", "")
title = issue.get("title", f"Issue {issue_number}")
branch_name = generate_branch_name(title)
branch_name = generate_branch_name(issue_number, title)
try:
with tempfile.TemporaryDirectory() as tmpdirname:
process_issue(args, Path(tmpdirname), branch_name, title, issue_description, issue_number)

View File

@ -0,0 +1,19 @@
import pytest
from aider_gitea.__main__ import generate_branch_name
def test_generate_branch_name_normal():
# Normal case with alphanumeric title.
branch = generate_branch_name("123", "Some Issue Title")
assert branch == "issue-123-some-issue-title"
def test_generate_branch_name_special_characters():
# Test where title contains special characters.
branch = generate_branch_name("45", "Issue @ Special!")
# This test expects only the space replaced and lower-casing.
# Adjust the expected value if more sophisticated slugification is added.
assert branch == "issue-45-issue-@-special!"
def test_generate_branch_name_numeric_title():
# Test where the title starts with numbers.
branch = generate_branch_name("789", "123 Numbers Here")
assert branch == "issue-789-123-numbers-here"