diff --git a/src/git_flow/command/merge.py b/src/git_flow/command/merge.py index 98af465..a773267 100644 --- a/src/git_flow/command/merge.py +++ b/src/git_flow/command/merge.py @@ -13,7 +13,23 @@ def merge(): ensure_initialized() branch = ensure_right_branch() - target, _ = get_branch_env_and_type(branch) + environments = flowconfig["flow.branches"].split(",") + + if branch in environments: + if branch == environments[-1]: + raise GitFlowError("No se puede hacer un merge del último entorno.") + + panel( + "Merge de entornos", + """Está por hacer un merge de 2 entornos que puede implicar muchos cambios en el proyecto.""", + ) + + if not confirm("¿Desea continuar?"): + raise GitFlowError("Ejecución abortada") + + target = environments[environments.index(branch) + 1] + else: + target, _ = get_branch_env_and_type(branch) if "flow.remote" in flowconfig: remote = flowconfig["flow.remote"]