Intenta realizar un lanzamiento en un proyecto de maven, que se ha lanzado con éxito antes.
Cuando mvn release:prepare
Me mvn release:prepare
las tags de lanzamiento y las nuevas tags de instantáneas y las comstackciones del proyecto.
Pero cuando intenta presionar al control remoto, obtengo
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project NeuralAnalysis: Unable to tag SCM [ERROR] Provider message: [ERROR] The git-push command failed. [ERROR] Command output: [ERROR] To ssh://gitosis@10.41.129.2/NeuralAnalysis.git [ERROR] ! [rejected] NeuralAnalysis-1.5.6 -> NeuralAnalysis-1.5.6 (non-fast-forward) [ERROR] error: failed to push some refs to 'ssh://gitosis@10.41.129.2/NeuralAnalysis.git' [ERROR] To prevent you from losing history, non-fast-forward updates were rejected
Y, de hecho, al intentar ejecutar git push ssh://gitosis@10.41.129.2/NeuralAnalysis.git NeuralAnalysis-1.5.6
manualmente, también sale con la misma queja.
La ejecución de git pull
dice 'Ya está actualizado'. git branch
muestra que estoy en el 'maestro'. git push origin
da 'Todo al día'.
Mirar el repository usando Tower muestra que 'master', 'origin / master' y 'NeuralAnalysis-1.5.6' son todos iguales y en el último commit. El directory de trabajo contiene los files release.properties y pom.xml.releaseBackup.
Me parece que todo está bien con el repository en general.
Resulta que era una label remota con el mismo nombre, como lo sugirió VonC en el comentario. Esto probablemente fue creado por alguna versión previamente abortada.
Aunque encontré la label remota inspeccionando manualmente el directory git ls-remote --tags
/ tags en el repository remoto, git ls-remote --tags
también los mostrará y la git ls-remote --tags
git push --verbose
también mostrará más sobre el problema en general.
Para solucionar esto, primero recupere las tags remotas con git fetch --tags
.
Una forma de realizar el siguiente paso es simplemente omitir esa label de publicación actualizando el pom.xml para tener una versión más alta -SNAPSHOT (incluidas las references en el mismo proyecto por otros modules a esa instantánea), verifíquelas y haga mvn release:clean; mvn release:prepare
mvn release:clean; mvn release:prepare
nuevo.