jira-importer opened a new issue, #1253: URL: https://github.com/apache/maven-scm/issues/1253
**[Nikolas Falco](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=nfalco79)** opened **[SCM-1030](https://issues.apache.org/jira/browse/SCM-1030?redirect=false)** and commented We are moving our SCM developer connection from https that use a configured appPassword credentials to git/ssh configured with a private SSH key. From ```xml <developerConnection>scm:git:https://bitbucket.org/owner/reponame.git</developerConnection> ``` with credentials in settings.xml like this: ```xml <server> <id>bitbucket.org</id> <username>builder</username> <password>secret</password> </server> ``` To ```xml <developerConnection>scm:git:ssh://[email protected]/owner/reponame.git</developerConnection> ``` with credentials in settings.xml like this: ```xml <server> <id>bitbucket.org</id> <privateKey>fullpath/to/private/key</privateKey> </server> ``` When we run `mvn -ntp release:prepare` we get the following error: ```bash [INFO] 11/17 prepare:scm-commit-release [INFO] Checking in modified POMs... [INFO] Executing: cmd.exe /X /C "git add -- pom.xml" [INFO] Working directory: D:\git\reponame [INFO] Executing: cmd.exe /X /C "git rev-parse --show-prefix" [INFO] Working directory: D:\git\reponame [INFO] Executing: cmd.exe /X /C "git status --porcelain ." [INFO] Working directory: D:\git\reponame [WARNING] Ignoring unrecognized line: ?? pom.xml.releaseBackup [WARNING] Ignoring unrecognized line: ?? release.properties [INFO] Executing: cmd.exe /X /C "git commit --verbose -F C:\Users\nfalco\AppData\Local\Temp\maven-scm-2141752647.commit" [INFO] Working directory: D:\git\os-devops-organisation-pom [INFO] Executing: cmd.exe /X /C "git symbolic-ref HEAD" [INFO] Working directory: D:\git\reponame [INFO] Executing: cmd.exe /X /C "git push ssh:********@bitbucket.org/owner/reponame.git refs/heads/master:refs/heads/master" [INFO] Working directory: D:\git\reponame [INFO] 12/17 prepare:scm-tag [INFO] Tagging release with the label 1.13... [INFO] Executing: cmd.exe /X /C "git tag -F C:\Users\nfalco\AppData\Local\Temp\maven-scm-699167272.commit 1.13" [INFO] Working directory: D:\git\reponame [INFO] Executing: cmd.exe /X /C "git push ssh:********@bitbucket.org/owner/reponame.git refs/tags/1.13" [INFO] Working directory: D:\git\reponame [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 15.470 s [INFO] Finished at: 2025-04-08T15:54:53+02:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.1.1:prepare (default-cli) on project opensoftware-parent: Unable to tag SCM [ERROR] Provider message: [ERROR] The git-push command failed. [ERROR] Command output: [ERROR] [email protected]: Permission denied (publickey). [ERROR] fatal: Could not read from remote repository. [ERROR] [ERROR] Please make sure you have the correct access rights [ERROR] and the repository exists. [ERROR] ``` Commit `[maven-release-plugin] prepare release 1.13` is pushed with success but fail to push annotated tag. If we add the environment variable ```bash GIT_SSH_COMMAND = "ssh -i d:\\builder.private.openssh" ``` the tag is pushed with success to remote ```bash ... [INFO] 12/17 prepare:scm-tag [INFO] Tagging release with the label 1.13... [INFO] Executing: cmd.exe /X /C "git tag -F C:\Users\nfalco\AppData\Local\Temp\maven-scm-826466640.commit 1.13" [INFO] Working directory: D:\git\reponame [INFO] Executing: cmd.exe /X /C "git push ssh:********@bitbucket.org/owner/reponame.git refs/tags/1.13" [INFO] Working directory: D:\git\reponame [INFO] Executing: cmd.exe /X /C "git ls-files" [INFO] Working directory: D:\git\reponame [INFO] 13/17 prepare:rewrite-poms-for-development [INFO] Transforming pom.xml opensoftware-parent 'Opensoftware'... [INFO] 14/17 prepare:remove-release-poms [INFO] Not removing release POMs [INFO] 15/17 prepare:run-completion-goals [INFO] 16/17 prepare:scm-commit-development [INFO] Checking in modified POMs... [INFO] Executing: cmd.exe /X /C "git add -- pom.xml" [INFO] Working directory: D:\git\reponame [INFO] Executing: cmd.exe /X /C "git rev-parse --show-prefix" [INFO] Working directory: D:\git\reponame [INFO] Executing: cmd.exe /X /C "git status --porcelain ." [INFO] Working directory: D:\git\reponame [WARNING] Ignoring unrecognized line: ?? pom.xml.releaseBackup [WARNING] Ignoring unrecognized line: ?? release.properties [INFO] Executing: cmd.exe /X /C "git commit --verbose -F C:\Users\nfalco\AppData\Local\Temp\maven-scm-1969078592.commit" [INFO] Working directory: D:\git\reponame [INFO] Executing: cmd.exe /X /C "git symbolic-ref HEAD" [INFO] Working directory: D:\git\reponame [INFO] Executing: cmd.exe /X /C "git push ssh:********@bitbucket.org/owner/reponame.git refs/heads/master:refs/heads/master" [INFO] Working directory: D:\git\reponame [INFO] 17/17 prepare:end-release [INFO] Release preparation complete. ``` Digging into the source code in Github repository I think I have found the root cause for this behaviour. In GitTagCommand class at [line 149](https://github.com/apache/maven-scm/blob/55f3e9ec07567ea97e3c58db5d495389d48b34b9/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java#L149) the push command is created without pass the given GitScmProviderRepository to git CLI builder. This mean that the CLI builder at [line 101](https://github.com/apache/maven-scm/blob/55f3e9ec07567ea97e3c58db5d495389d48b34b9/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java#L101) will not inject the GIT_SSH_COMMAND variable with the privateKey like the CheckInCommand does at [line 189](https://github.com/apache/maven-scm/blob/55f3e9ec07567ea97e3c58db5d495389d48b34b9/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/chec kin/GitCheckInCommand.java#L189) --- **Affects:** 2.1.0 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
