Compare commits

..
9 Commits
3 changed files with 31 additions and 18 deletions
+21
View File
@@ -1,3 +1,24 @@
## v1.7.3 - 2025-12-14
- **bugfix**: listado de ramas para elegir grupo release no devolvia resultados [[jteran](mailto:jteran@renatre.org.ar)] (5600e5e)
---
## v1.7.2 - 2025-12-11
- **bugfix**: al hacer un release, cambio a la rama grupo si esta disponible [[jteran](mailto:jteran@renatre.org.ar)] (44b8efd)
---
## v1.7.1 - 2025-12-11
- **bugfix**: cambio la forma en la que se obtiene el first fork point entre 2 ramas [[jteran](mailto:jteran@renatre.org.ar)] (7b4fb34)
---
## v1.7.0 - 2025-12-11 ## v1.7.0 - 2025-12-11
- **feature**: muestro el listado de commits a pasar al siguiente entorno en release [[jteran](mailto:jteran@renatre.org.ar)] (2e65cb7) - **feature**: muestro el listado de commits a pasar al siguiente entorno en release [[jteran](mailto:jteran@renatre.org.ar)] (2e65cb7)
+5 -4
View File
@@ -56,10 +56,11 @@ class ReleaseCommand(Command):
group = args.group group = args.group
if not group and self.confirm("¿Desea agrupar este release con otra rama?", False): if not group:
group = self.choice("Grupo release: ", Git.get_branches("release/" + next_env + "/")) if self.confirm("¿Desea agrupar este release con otra rama?", False):
else: group = self.choice("Grupo release: ", Git.get_branches("release/" + next_env + "/"))
group = next_env else:
group = next_env
if has_remote: if has_remote:
Git("switch", group).exec(print="Cambiando a la rama objetivo") Git("switch", group).exec(print="Cambiando a la rama objetivo")
+5 -14
View File
@@ -63,27 +63,18 @@ class Git:
@staticmethod @staticmethod
def get_first_fork_point(branch: str, env: str): def get_first_fork_point(branch: str, env: str):
boundary_commits = list( # Lista de commits alcanzables por el entorno (por ejemplo, dev),
filter( env_commits = Git("rev-list", env + "..." + branch, first_parent=True).lines()
lambda c: c.startswith("-"), # boundary commits
Git(
"rev-list", env + "..." + branch, topo_order=True, boundary=True
).lines(),
)
)
if not boundary_commits: if not env_commits:
raise RuntimeError("No se encontro un commit base para realizar el rebase.") raise RuntimeError("No se encontro un commit base para realizar el rebase.")
return boundary_commits[-1].removeprefix("-") return Git("show", env_commits[-1] + "^", patch=False, format="%h").firstline()
@staticmethod @staticmethod
def _get_references(kind: str): def _get_references(kind: str):
prefix = "refs/" + kind prefix = "refs/" + kind
return list(map( return Git("for-each-ref", prefix + "**", format="%(refname:short)").lines()
lambda r: r.removeprefix(prefix),
Git("for-each-ref", prefix + "*", format="%(refname)").lines(),
))
@staticmethod @staticmethod
def is_repository() -> bool: def is_repository() -> bool: