Compare commits

...
11 Commits
4 changed files with 52 additions and 9 deletions
+19
View File
@@ -1,3 +1,22 @@
## v1.11.0 - 2025-12-22
- **feature**: al agrupar release, mergear cambios en rama group [[jonathan.nerat](mailto:jonathan.nerat@gmail.com)] (726c73a)
- **feature**: usar commit message cuando el pr solo tiene un commit [[jonathan.nerat](mailto:jonathan.nerat@gmail.com)] (057b32a)
- **feature**: eliminar prompt de ticket en creacion de rama [[jonathan.nerat](mailto:jonathan.nerat@gmail.com)] (c0e2e59)
- **feature**: deshacer rebase cuando este falla en el pasaje de cambios [[jonathan.nerat](mailto:jonathan.nerat@gmail.com)] (77e338d)
- **bugfix**: uso titulo personalizado de PR [[jonathan.nerat](mailto:jonathan.nerat@gmail.com)] (1aa2263)
---
## v1.10.0 - 2025-12-15
- **feature**: agrego opcion para cambiar a rama objetivo y obtener cambios [[jteran](mailto:jteran@renatre.org.ar)] (df8998a)
- **feature**: agrego opcion para personalizar nombre de PR [[jteran](mailto:jteran@renatre.org.ar)] (c87b141)
---
## v1.9.1 - 2025-12-15 ## v1.9.1 - 2025-12-15
- **bugfix**: uso rama actual cuando esta es un entorno [[jteran](mailto:jteran@renatre.org.ar)] (c54cb95) - **bugfix**: uso rama actual cuando esta es un entorno [[jteran](mailto:jteran@renatre.org.ar)] (c54cb95)
+20 -4
View File
@@ -80,16 +80,32 @@ class MergeCommand(Command):
def create_pull_request(self, token: str, branch: str, target: str): def create_pull_request(self, token: str, branch: str, target: str):
changelog = Changelog() changelog = Changelog()
title = branch.replace("/", ": ").replace("-", " ") commits = Git("log", target + "..", format="%s").lines()
if title.startswith("release: "): if len(commits) == 1:
title = title[title.index(' ', title.index(' ') + 1) + 1:] title = commits[0]
else:
title = branch.replace("/", ": ").replace("-", " ")
if title.startswith("release: "):
title = title[title.index(' ', title.index(' ') + 1) + 1:]
self.info("Título del PR por defecto: " + title)
opt_title = self.prompt("[Opcional] Ingrese otro titulo para el PR")
if opt_title:
title = opt_title
message = self.get_remote_api(token).create_pull_request( message = self.get_remote_api(token).create_pull_request(
branch, branch,
target, target,
branch.replace("/", ": ").replace("-", " "), title,
changelog.generate_content(target, branch), changelog.generate_content(target, branch),
) )
self.success(message) self.success(message)
if self.confirm("¿Desea cambiar a la rama objetivo y bajar los cambios?"):
Git("switch", target).exec(print="Cambiando a rama objetivo")
Git("pull").exec(print="Obteniendo cambios")
-3
View File
@@ -44,9 +44,6 @@ class NewCommand(Command):
persistent=True, persistent=True,
) )
ticket = self.prompt("[Opcional] Ingrese el ID del ticket (por ejemplo ABC-123 o #123)")
ticket = ticket[1:] if ticket.startswith("#") else ticket
keywords = ticket + ' ' + keywords
keywords = filter(lambda k: len(k) > 0, keywords.split(" ")) keywords = filter(lambda k: len(k) > 0, keywords.split(" "))
branch = branch_type + "/" + "-".join(keywords) branch = branch_type + "/" + "-".join(keywords)
+13 -2
View File
@@ -55,9 +55,11 @@ class ReleaseCommand(Command):
print("- " + commit) print("- " + commit)
group = args.group group = args.group
grouping = group is not None
if not group: if not grouping:
if self.confirm("¿Desea agrupar este release con otra rama?", False): if self.confirm("¿Desea agrupar este release con otra rama?", False):
grouping = True
group = self.choice("Grupo release: ", Git.get_branches("release/" + next_env + "/")) group = self.choice("Grupo release: ", Git.get_branches("release/" + next_env + "/"))
else: else:
group = next_env group = next_env
@@ -89,6 +91,15 @@ class ReleaseCommand(Command):
else: else:
Git("switch", next_branch, create=True).exec(print="Creando rama release") Git("switch", next_branch, create=True).exec(print="Creando rama release")
Git("rebase", base, next_branch, onto=group).exec( status = Git("rebase", base, next_branch, onto=group).code(
print="Moviendo cambios hacia el siguiente ambiente" print="Moviendo cambios hacia el siguiente ambiente"
) )
if status:
Git("rebase", abort=True).exec(
print="Deshaciendo cambios por conflictos"
)
raise GitFlowError("Error al realizar pasaje de cambios a rama objetivo")
elif grouping:
Git("switch", group).exec(print="Cambiando a rama objetivo")
Git("merge", next_branch, ff_only=True).exec(print="Mergeando cambios de la nueva rama")