From eba73fe6fa60a8d485ae2be5470da6303cc5557d Mon Sep 17 00:00:00 2001 From: Jonathan Teran Carballo Date: Sun, 2 Nov 2025 13:46:58 -0300 Subject: [PATCH 1/7] docs: cambio header de changelog, arreglo generacion de descripcion de Prs --- git-flow | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/git-flow b/git-flow index 73d0ebc..e1590a3 100755 --- a/git-flow +++ b/git-flow @@ -479,7 +479,7 @@ def update_changelog(branch: str, target: str): return True -def generate_changelog_entry(branch: str, target: str): +def get_changelog_header_lines(branch: str): name = Git("config", "user.name").firstline() email = Git("config", "user.email").firstline() @@ -488,20 +488,26 @@ def generate_changelog_entry(branch: str, target: str): month = now.strftime("%B").capitalize() timestamp = now.strftime(f"{weekday}, %e de {month} de %Y, %H:%M") - entry_lines = [ + return [ f"## {timestamp}", "", - "### Autor", - "", - f"- Usuario: **{name}**", - f"- Email: **{email}**", - "", - "### Commits", - "", - f"Rama: **{branch}**", + f"- Autor: [{name}](mailto:{email})", + f"- Rama: `{branch}`", + "" + "### Commits" "" ] +def get_changelog_footer_lines(): + return [ + "", + "---", + "", + "" + ] + +def generate_changelog_entry(branch: str, target: str): + entry_lines = get_changelog_header_lines(branch) commits = Git("log", target + "..", first_parent=True, format="%h", merges=False).lines() for commit in commits: @@ -521,12 +527,7 @@ def generate_changelog_entry(branch: str, target: str): [status, filename] = diff.split("\t") entry_lines.append(f"\t- {filename} ({status})") - entry_lines += [ - "", - "---", - "", - "" - ] + entry_lines += get_changelog_footer_lines() return "\n".join(entry_lines) @@ -535,7 +536,9 @@ def create_pull_request(service: str, repository: str, source: str, destination: endpoint = get_api_endpoint(service, repository, "/pullrequests") title = source.replace("/", ": ").replace("-", " ") lines = generate_changelog_entry(source, destination).splitlines() - description = "\n".join(lines[3:-4]) + header_lines = get_changelog_header_lines(source) + footer_lines = get_changelog_footer_lines() + description = "\n".join(lines[len(header_lines):-len(footer_lines)]) headers = get_headers() json = { From 1de6a64176019a2eaec92aaffc001497e5703237 Mon Sep 17 00:00:00 2001 From: Jonathan Teran Carballo Date: Sun, 2 Nov 2025 13:54:55 -0300 Subject: [PATCH 2/7] docs: cambio descripcion de PR para que solo contenga los commits --- git-flow | 41 ++++++++++++++++++++++------------------- lib/io.py | 3 +++ 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/git-flow b/git-flow index e1590a3..2176e10 100755 --- a/git-flow +++ b/git-flow @@ -493,21 +493,13 @@ def get_changelog_header_lines(branch: str): "", f"- Autor: [{name}](mailto:{email})", f"- Rama: `{branch}`", - "" - "### Commits" + "", + "### Commits", "" ] -def get_changelog_footer_lines(): - return [ - "", - "---", - "", - "" - ] - -def generate_changelog_entry(branch: str, target: str): - entry_lines = get_changelog_header_lines(branch) +def get_changelog_content_lines(target: str): + lines = [] commits = Git("log", target + "..", first_parent=True, format="%h", merges=False).lines() for commit in commits: @@ -520,13 +512,26 @@ def generate_changelog_entry(branch: str, target: str): commit_type = message[:index] commit_message = message[index+1:] - entry_lines.append(f"- **{commit_type}**: {commit_message} ({commit})") + lines.append(f"- **{commit_type}**: {commit_message} ({commit})") diff_tree = Git("diff-tree", commit, r=True, commit_id=False, name_status=True).lines() for diff in diff_tree: [status, filename] = diff.split("\t") - entry_lines.append(f"\t- {filename} ({status})") + lines.append(f"\t- {filename} ({status})") + return lines + +def get_changelog_footer_lines(): + return [ + "", + "---", + "", + "" + ] + +def generate_changelog_entry(branch: str, target: str): + entry_lines = get_changelog_header_lines(branch) + entry_lines = get_changelog_content_lines(target) entry_lines += get_changelog_footer_lines() return "\n".join(entry_lines) @@ -535,10 +540,7 @@ def generate_changelog_entry(branch: str, target: str): def create_pull_request(service: str, repository: str, source: str, destination: str): endpoint = get_api_endpoint(service, repository, "/pullrequests") title = source.replace("/", ": ").replace("-", " ") - lines = generate_changelog_entry(source, destination).splitlines() - header_lines = get_changelog_header_lines(source) - footer_lines = get_changelog_footer_lines() - description = "\n".join(lines[len(header_lines):-len(footer_lines)]) + description = "\n".join(get_changelog_content_lines(destination)) headers = get_headers() json = { @@ -552,7 +554,8 @@ def create_pull_request(service: str, repository: str, source: str, destination: request = requests.post(endpoint, headers=headers, json=json) if request.ok: - print("PR creado exitosamente.") + print_success("PR creado exitosamente.") + print_debug("Response body: " + request.text) else: print_error("Ocurrió un error al crear el PR: " + request.text) diff --git a/lib/io.py b/lib/io.py index 9676ef3..dd9951a 100644 --- a/lib/io.py +++ b/lib/io.py @@ -54,6 +54,9 @@ def print_error(message: str): def print_warning(message: str): print(f"{COLOR_YELLOW}[wrn] {message}{COLOR_RESET}") +def print_success(message: str): + print(f"{COLOR_GREEN}[ok!] {message}{COLOR_RESET}") + def print_info(message: str): print(f"{COLOR_BLUE}[inf] {message}{COLOR_RESET}") From 90fc3117940ac3cf02d68af4395d8f628ecc76b6 Mon Sep 17 00:00:00 2001 From: Jonathan Teran Carballo Date: Sun, 2 Nov 2025 13:55:02 -0300 Subject: [PATCH 3/7] Updated CHANGELOG.md --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d1cec7..4998dc2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +- **docs**: cambio descripcion de PR para que solo contenga los commits (1de6a64) + - git-flow (M) + - lib/io.py (M) +- **docs**: cambio header de changelog, arreglo generacion de descripcion de Prs (eba73fe) + - git-flow (M) + +--- + ## Domingo, 2 de Noviembre de 2025, 13:47 - Autor: [Jonathan Teran Carballo](mailto:jonathan.nerat@gmail.com) From 2bf8dbce89c3efc6c803681bcfb6790e5aa9c341 Mon Sep 17 00:00:00 2001 From: Jonathan Teran Carballo Date: Sun, 2 Nov 2025 13:59:03 -0300 Subject: [PATCH 4/7] docs: agrego link a respuesta de PR creado --- git-flow | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git-flow b/git-flow index 2176e10..c556954 100755 --- a/git-flow +++ b/git-flow @@ -554,8 +554,8 @@ def create_pull_request(service: str, repository: str, source: str, destination: request = requests.post(endpoint, headers=headers, json=json) if request.ok: - print_success("PR creado exitosamente.") - print_debug("Response body: " + request.text) + json = request.json() + print_success("PR creado exitosamente: " + json['links']['html']['href']) else: print_error("Ocurrió un error al crear el PR: " + request.text) From 9042cb7b5049d277c008e9fdc3df1637be2244fc Mon Sep 17 00:00:00 2001 From: Jonathan Teran Carballo Date: Sun, 2 Nov 2025 13:59:10 -0300 Subject: [PATCH 5/7] Updated CHANGELOG.md --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4998dc2..75d46e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +- **docs**: agrego link a respuesta de PR creado (2bf8dbc) + - git-flow (M) +- **docs**: cambio descripcion de PR para que solo contenga los commits (1de6a64) + - git-flow (M) + - lib/io.py (M) +- **docs**: cambio header de changelog, arreglo generacion de descripcion de Prs (eba73fe) + - git-flow (M) + +--- + - **docs**: cambio descripcion de PR para que solo contenga los commits (1de6a64) - git-flow (M) - lib/io.py (M) From 8f30dc640f70e3d50244581dd7b33cba7d2c008f Mon Sep 17 00:00:00 2001 From: Jonathan Teran Carballo Date: Sun, 2 Nov 2025 13:59:55 -0300 Subject: [PATCH 6/7] bugfix: arreglo concatenacion de lineas de changelog --- git-flow | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-flow b/git-flow index c556954..3e49964 100755 --- a/git-flow +++ b/git-flow @@ -531,7 +531,7 @@ def get_changelog_footer_lines(): def generate_changelog_entry(branch: str, target: str): entry_lines = get_changelog_header_lines(branch) - entry_lines = get_changelog_content_lines(target) + entry_lines += get_changelog_content_lines(target) entry_lines += get_changelog_footer_lines() return "\n".join(entry_lines) From 1023b32a01d8c7258923ba20c120fe9fabeb5e54 Mon Sep 17 00:00:00 2001 From: Jonathan Teran Carballo Date: Sun, 2 Nov 2025 14:00:00 -0300 Subject: [PATCH 7/7] Updated CHANGELOG.md --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75d46e1..3830e56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ +## Domingo, 2 de Noviembre de 2025, 14:00 + +- Autor: [Jonathan Teran Carballo](mailto:jonathan.nerat@gmail.com) +- Rama: `docs/change-changelog-format` + +### Commits + +- **bugfix**: arreglo concatenacion de lineas de changelog (8f30dc6) + - git-flow (M) +- **docs**: agrego link a respuesta de PR creado (2bf8dbc) + - git-flow (M) +- **docs**: cambio descripcion de PR para que solo contenga los commits (1de6a64) + - git-flow (M) + - lib/io.py (M) +- **docs**: cambio header de changelog, arreglo generacion de descripcion de Prs (eba73fe) + - git-flow (M) + +--- + - **docs**: agrego link a respuesta de PR creado (2bf8dbc) - git-flow (M) - **docs**: cambio descripcion de PR para que solo contenga los commits (1de6a64)