Complemento de lanzamiento de Maven con git, error si se envían confirmaciones durante el proceso

Usamos el repositorio git y el complemento de lanzamiento de maven. En el primer paso de compilación, extraemos todos los cambios en el repositorio local y en el siguiente ejecutamos mvn release:prepare release:perform. release:prepare actualiza el espacio de trabajo, actualiza la versión en los archivos pom, crea una etiqueta en el repositorio, ejecuta todas las pruebas, crea jars, etc. Si está bien, luego envía los cambios del repositorio local a uno remoto (poms actualizados y etiqueta creada).

El problema es que cuando alguien empuja algunos cambios mientras tanto, el empuje de maven falla. El mensaje de error es:

error: failed to push some refs to 'http://<my_repository>'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

¿Alguien tuvo un problema similar? ¿Cómo resolverlo?

preguntado el 31 de julio de 12 a las 10:07

“etiqueta […] actualizada” – Entonces, ¿quieres sobrescribir una etiqueta? -

No no, solo se crea la etiqueta. Edité la pregunta. Lo siento por no ser lo suficientemente claro. -

1 Respuestas

Echa un vistazo a empujar cambios:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <configuration>
        <pushChanges>false</pushChanges>
    </configuration>
</plugin>

... y empujar más tarde

Respondido el 18 de Septiembre de 13 a las 19:09

Hmm... ¿Resuelve mi problema? Maven no se quejará de los cambios, sí, pero si hubo cambios y quiero presionar, primero debo pull --rebase y empuje los cambios encima de eso. Entonces termino con una etiqueta de lanzamiento en el código base que no era realmente un lanzamiento, ¿no? - amorfis

lanzarás y etiquetarás desde tu versión local. Puedes fusionarte después de eso. - olivier lamy

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.