2014-06-14 3 views
2

работает GIT версии 1.7 и Maven 3.0.3 и выпуск Maven плагин 2.4.2 и пытается выполнить следующую команду:мерзавец толчок терпит неудачу, используя релиз Maven плагин

mvn clean install release:clean release:prepare release:perform 

я получаю следующую ошибку:

[INFO] Checking in modified POMs... 
[INFO] Executing: /bin/sh -c cd /home/foo-proj && git add -- pom.xml 
[INFO] Working directory: /home/foo-proj 
[INFO] Executing: /bin/sh -c cd /home/foo-proj && git status 
[INFO] Working directory: /home/foo-proj 
[INFO] Executing: /bin/sh -c cd /home/foo-proj && git commit --verbose -F /tmp/maven-scm-1966810637.commit pom.xml 
[INFO] Working directory: /home/foo-proj 
[INFO] Executing: /bin/sh -c cd /home/foo-proj && git symbolic-ref HEAD 
[INFO] Working directory: /home/foo-proj 
[INFO] Executing: /bin/sh -c cd /home/foo-proj && git push ssh://git.acmeco.com/gitroot/foo-proj.git master:master 
[INFO] Working directory: /home/foo-proj 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1:03.408s 
[INFO] Finished at: Sat Jun 14 21:30:48 UTC 2014 
[INFO] Final Memory: 13M/57M 
[INFO] ------------------------------------------------------------------------  
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4.2:prepare (default-cli) on project mikesbikes: Unable to commit files 
[ERROR] Provider message: 
[ERROR] The git-push command failed. 
[ERROR] Command output: 
[ERROR] To ssh://git.acmeco.com/gitroot/foo-proj.git 
[ERROR] ! [rejected]  master -> master (non-fast-forward) 
[ERROR] error: failed to push some refs to 'ssh://git.acmeco.com/gitroot/foo-proj.git' 
[ERROR] To prevent you from losing history, non-fast-forward updates were rejected 
[ERROR] Merge the remote changes before pushing again. See the 'Note about 
[ERROR] fast-forwards' section of 'git push --help' for details. 
[ERROR] -> [Help 1] 

Именно эта линия, в частности, что вызывает проблему:

git push ssh://git.acmeco.com/gitroot/foo-proj.git master:master 

Если бы я сделать это вручную просто как git push, я не испытываю никаких проблем, поэтому не уверен, что на самом деле означает мастер: master.

Я искал исчерпывающий поиск похожих вопросов в Интернете и только несколько ссылок на ту же проблему без решения. Любые предложения по поводу того, что может быть проблемой, будут весьма признательны.

редактировать: вот выход из -e флага:

error: failed to push some refs to 'ssh://git.acmeco.com/gitroot/proj-foo.git' 
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. 

    at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:285) 
    at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:232) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    ... 19 more 
Caused by: org.apache.maven.shared.release.scm.ReleaseScmCommandException: Unable to commit files 
Provider message: 
The git-push command failed. 
Command output: 
To ssh://git.acemco.com/gitroot/foo-proj.git 
! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to 'ssh://git.acmeco.com/gitroot/foo-proj.git' 
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. 

    at org.apache.maven.shared.release.phase.AbstractScmCommitPhase.checkin(AbstractScmCommitPhase.java:165) 
    at org.apache.maven.shared.release.phase.AbstractScmCommitPhase.performCheckins(AbstractScmCommitPhase.java:145) 
    at org.apache.maven.shared.release.phase.ScmCommitPreparationPhase.runLogic(ScmCommitPreparationPhase.java:76) 
    at org.apache.maven.shared.release.phase.AbstractScmCommitPhase.execute(AbstractScmCommitPhase.java:78) 
    at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:234) 
    at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:169) 
    at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:146) 
    at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:107) 
    at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:277) 
    ... 22 more 
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 
+0

Попробуйте запустить maven с помощью переключателя '-e' и проверьте, есть ли дополнительный выход по этой проблеме. – timbooo

+0

только что отредактировал с выходом из '-e', ничего слишком показательного, похоже, – wittyhandle

+0

У нас есть такая же проблема с Bamboo build pushing Commits to Stash (builds run on Linuxes) git version 2.5.1, maven-release-plugin 2.5.2, maven 3.3.3. Процесс выпуска отлично работает на моей машине разработчиков, но с использованием git версии 1.9.5.msysgit.0 на окнах. Раньше у нас был git 1.8.3.4 на Bamboo, и толчки были без ошибок. – David

ответ

0

ли ваш мастер филиал в курсе с удалённой?

Кроме того, вы можете попробовать обновить Git до версии немного младшего (скажем 1.9.x) и последний релиз Maven плагин, который в настоящее время 2.5.2.

Теория:

ошибка указана кажется довольно много Git связаны только: (Даже если плагин релиз имеет довольно плохую репутацию о Git)

[ERROR] To ssh://git.acmeco.com/gitroot/foo-proj.git 
[ERROR] ! [rejected]  master -> master (non-fast-forward) 
[ERROR] error: failed to push some refs to 'ssh://git.acmeco.com/gitroot/foo-proj.git' 
[ERROR] To prevent you from losing history, non-fast-forward updates were rejected 
[ERROR] Merge the remote changes before pushing again. See the 'Note about 
[ERROR] fast-forwards' section of 'git push --help' for details. 
[ERROR] -> [Help 1] 

что обычно означает, что есть потенциальных конфликтов.

Что происходит во время фазы release:prepare, так это то, что файл Pom обновляется (с новой версией), а новая фиксация - это ... er ... commit.

Что произойдет, тогда, если удаленная мастер-ветвь имеет те же самые строки, которые были изменены, вы не могли бы толкнуть ее нормально. Это также объясняет тот факт, что вы можете запустить линию вручную после этого, потому что есть хороший шанс, что Maven откажется от возможности.

Поэтому я бы поставил ошибку на стороне Git. Однако, пожалуйста, обратите внимание, что я не могу исключить release:plugin, потому что иногда бывает так, что он может попытаться что-то совершенно не так! Если это так, вы ничего не можете сделать, я боюсь.

+0

Повторяя вопрос с вопроса: У нас такая же проблема, что и Bamboo build pushing совершает Stash (строит run на Linux) с последней версией git версии 2.5.1, maven-release-plugin 2.5.2, maven 3.3.3. Процесс выпуска отлично работает на моей машине разработчиков, но с использованием git версии 1.9.5.msysgit.0 на окнах. Раньше у нас был git 1.8.3.4 на Bamboo, и толчки были без ошибок. Теперь попытка отключить нажатие, используя -DpushChanges = false или -DdryRun = true – David

+1

Извините. Раньше не видел вашего комментария. По какой причине у меня такая же проблема на моем рабочем месте, мне пришлось заблокировать мою машину для разработчиков на Git 1.9, поскольку Maven Release Plugin, похоже, не справляется с более новой версией. –

Смежные вопросы