Merged in feature/new-command-improvements (pull request #51)

feature: new command improvements

Approved-by: Jonathan Teran
This commit is contained in:
JonathanGitFlow
2025-12-15 00:32:13 +00:00
committed by jt
+11 -1
View File
@@ -13,7 +13,11 @@ class NewCommand(Command):
def run(self, args: Namespace = Namespace()): def run(self, args: Namespace = Namespace()):
self.ensure_initialized() self.ensure_initialized()
self.ensure_right_branch() branch = self.ensure_right_branch()
envs = self.flowconfig["flow.branches"].split(",")
if branch not in envs:
self.warning("La rama actual no corresponde a un entorno configurado.")
self.info("Se creará una nueva rama de trabajo sobre la rama actual.") self.info("Se creará una nueva rama de trabajo sobre la rama actual.")
self.info("Debe seleccionar el tipo de cambio a realizar.") self.info("Debe seleccionar el tipo de cambio a realizar.")
@@ -21,6 +25,9 @@ class NewCommand(Command):
branch_type = self.choice("Tipos de cambio", BRANCH_TYPES) branch_type = self.choice("Tipos de cambio", BRANCH_TYPES)
new_branch = self._get_unique_branch_name(branch_type) new_branch = self._get_unique_branch_name(branch_type)
if "flow.remote" in self.flowconfig and Git.get_tracking_branch(branch):
Git("pull").exec(print="Actualizando rama actual")
if self.confirm(f"¿Crear rama '{new_branch}' sobre la rama actual?"): if self.confirm(f"¿Crear rama '{new_branch}' sobre la rama actual?"):
Git("switch", new_branch, create=True).exec(print="Creando nueva rama") Git("switch", new_branch, create=True).exec(print="Creando nueva rama")
@@ -37,6 +44,9 @@ 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)