bugfix: verificar si la rama grupo trackea una rama remota antes de hacer pull

This commit is contained in:
Jonathan Teran Carballo
2025-12-14 13:32:23 -03:00
parent 0af5102fae
commit 0d95a978bf
2 changed files with 9 additions and 1 deletions
+1 -1
View File
@@ -62,7 +62,7 @@ class ReleaseCommand(Command):
else: else:
group = next_env group = next_env
if has_remote: if has_remote and Git.get_tracking_branch(group):
Git("switch", group).exec(print="Cambiando a la rama objetivo") Git("switch", group).exec(print="Cambiando a la rama objetivo")
Git("pull").exec(print="Sincronizando cambios la rama objetivo") Git("pull").exec(print="Sincronizando cambios la rama objetivo")
Git("switch", "-").exec(print="Volviendo a la rama original") Git("switch", "-").exec(print="Volviendo a la rama original")
+8
View File
@@ -1,5 +1,6 @@
import subprocess import subprocess
from git_flow import GitFlowError
from git_flow.io import * from git_flow.io import *
@@ -80,6 +81,13 @@ class Git:
def is_repository() -> bool: def is_repository() -> bool:
return Git("rev-parse", is_inside_work_tree=True).code() == 0 return Git("rev-parse", is_inside_work_tree=True).code() == 0
@staticmethod
def get_tracking_branch(branch: str) -> str | None:
try:
return Git("rev-parse", branch + "@{upstream}", abbrev_ref=True).firstline()
except subprocess.CalledProcessError:
return None
def __init__(self, subcommand: str, *args: str, **kwargs: str | int | bool | list[str] | None) -> None: def __init__(self, subcommand: str, *args: str, **kwargs: str | int | bool | list[str] | None) -> None:
self.command = ["git", subcommand] self.command = ["git", subcommand]