3

I am on a windows machine where git command line is not installed. I have installed GitExtensions and an EGit and this is sufficient for me (until now).

Now I wanted to perform a maven release to BinTray, following this guide: Publishing releases using Github, Bintray and maven-release-plugin

Running:

mvn -Prelease release:prepare

Produces this output:

[INFO] ------------------------------------------------------------------------
[INFO] Building xxxxx 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-release-plugin:2.4.1:prepare (default-cli) @ xxxxx ---
[INFO] Resuming release from phase 'scm-commit-release'
[INFO] Checking in modified POMs...
[INFO] Executing: cmd.exe /X /C "git add -- pom.xml"
[INFO] Working directory: C:\Users\jbr\git\yyyyyyyyyyyyyyy
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.770 s
[INFO] Finished at: 2015-09-12T20:17:24+02:00
[INFO] Final Memory: 20M/989M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4.1:prepare (default-cli) on project xxxxx: Unable to commit files
[ERROR] Provider message:
[ERROR] The git-add command failed.
[ERROR] Command output:
[ERROR] 'git' is not recognized as an internal or external command,
[ERROR] operable program or batch file.

Absolutely fair, I never use the git command from the windows shell and I never set up the pageant.exe stuff. (for details see this answer to the question “Why git can't remember my passphrase under Windows”).

My second idea was to use the maven-scm-provider-jgit to not depend on the git command line.

The output is now:

[INFO] ------------------------------------------------------------------------
[INFO] Building xxxxx 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-release-plugin:2.4.1:prepare (default-cli) @ xxxxx ---
[INFO] Change the default 'git' provider implementation to 'jgit'.
[INFO] Resuming release from phase 'scm-commit-release'
[INFO] Checking in modified POMs...
[INFO] push changes to remote... refs/heads/master:refs/heads/master
[INFO] fetch url: git@github.com:jmini/yyyyyyyyyyyyyyy.git
[INFO] push url: git@github.com:jmini/yyyyyyyyyyyyyyy.git
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4.1:prepare (default-cli) on project xxxxx: An error is occurred in the checkin process: Exception while executing SCM command. JGit checkin failure! git@github.com:jmini/yyyyyyyyyyyyyyy.git: Auth fail -> [Help 1] 

Much better, but still no luck.

My guess is that the private key and the passphrase are not loaded. How should I configure them?


This answer suggests that for some SCM providers, it is possible to specify the credentials in the <servers> section of settings.xml. The domain name of the repository should be used as <id>. According to the last comment with scm:git:ssh://git@bitbucket.org/{account}/{project} used in the <developerConnection>, this entry is working in the settings.xml:

<server>
  <id>bitbucket.org</id>
  <privateKey>/c/Users/neil.hunt/.ssh/id_rsa</privateKey>
</server>

Is this construct supported by the JGit SCM provider?


When searching for “Auth failed” error, I found this related question (plain JGit, no maven plugin):

How do you set the configuration for jschconfigsessionfactory for jgit so that pull and push work?

Community
  • 1
  • 1
Jmini
  • 9,189
  • 2
  • 55
  • 77
  • Why do you use an acient version of [maven-release-plugin](http://maven.apache.org/maven-release/maven-release-plugin/). I can't see if you use an up-to-date version of maven-scm-provider? – khmarbaise Sep 13 '15 at 07:14
  • No reason (copy paste from some website). I have updated `maven-release-plugin` to `2.5.2` and I use `maven-scm-provider-jgit`version `1.9.4`. – Jmini Sep 13 '15 at 08:46
  • Have you tried to run your release on plain windows command line instead within cygwin? – khmarbaise Sep 13 '15 at 11:53

0 Answers0