aleksandr-m / gitflow-maven-plugin

The Git-Flow Maven Plugin supports various Git workflows, including GitFlow and GitHub Flow. This plugin runs Git and Maven commands from the command line.

Home Page:https://aleksandr-m.github.io/gitflow-maven-plugin/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"gitflow:release" command should fail, if a corresponding remote release branch exists

rfelgent opened this issue · comments

Hello,

first I would like to say thank you for your great plugin!

I have a feature request for the goal gitflow:release. Let me explain a scenario that happened to us/me:

The gitflow-maven-plugin is configured like this:

<plugin>
        <groupId>com.amashchenko.maven.plugin</groupId>
        <artifactId>gitflow-maven-plugin</artifactId>
        <version>1.18.0</version>
        <configuration>
          <mvnExecutable>${project.basedir}/mvnw</mvnExecutable>
          <pushRemote>true</pushRemote>
          <fetchRemote>true</fetchRemote>
          <skipTestProject>true</skipTestProject>
        </configuration>
      </plugin>

Szenario

  1. developer X does gitflow:release-start (entering version 1.11.0) on her local machine => this creates the remote branch release/1.11.0
  2. QA finds a bug for the given release branch. Developer X makes a feature branch from the release-branch and does some code fixes. After her work, the changes are merged back to the release branch
  3. developer (not aware of developer X) Y does gitflow:release on her local machine also with version "1.11.0"

==> ups - the remote release branch 1.11.0 is deleted and changes/fixes are not merged in master/develop branch => changes are lost

is it possible to prevent the gitflow:release from execution in such a scenario ?

Why remote release branch is deleted? The gitflow:release doesn't delete branches.

Hi @aleksandr-m ,

I am afraid, I mixed something. You are right, the remote branch is not deleted at all.

can we close this issue ?

@rfelgent No problem. :) Let's close this. There was some other issue to track progress of checking remote release branch.