Mattias Andersson created SCM-871:
-------------------------------------

             Summary: Unable to release Maven artefacts that is not in the root 
of the Git repository
                 Key: SCM-871
                 URL: https://issues.apache.org/jira/browse/SCM-871
             Project: Maven SCM
          Issue Type: Bug
          Components: maven-scm-provider-jgit
    Affects Versions: 1.9.5
         Environment: Linux, Java version 1.8.0_144
            Reporter: Mattias Andersson
         Attachments: pom.xml

I have a Maven project that is not in the root of the Git repository. When I 
run a release:prepare the pom.xml is changed but never checked in.
{code:java}
07:52:47 [INFO] Checking in modified POMs...
07:52:47 [INFO] push changes to remote... refs/heads/master:refs/heads/master
07:52:47 [INFO] fetch url: ssh://myurl
07:52:47 [INFO] push url: ssh://myurl
{code}
In another project where the pom.xml is in the root of the repo i get following 
line printed after the “Checking in modified POMs…” line.
{code:java}
09:28:24 [INFO] commit done: [maven-release-plugin] prepare release 
my-prod-1.0.0
{code}
For a maven project in the following directory: 
{{/home/me/git/my-repo/src/pom.xml}}

The problem seems to be that in 
{{org.apache.maven.scm.provider.git.jgit.command.JGitUtils.addAllFiles(Git, 
ScmFileSet)}}. The baseUri of the fileSet is /home/me/git/my-repo/src so the 
relativized path become pom.xml. But 
{{org.eclipse.jgit.api.AddCommand.addFilepattern(String)}} expects a repository 
relative path, i.e. src/pom.xml.

 

This patch [https://github.com/apache/maven-scm/compare/master...attiand:fix] 
relativize the path against the Git repo rather than the fileset, works for me.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to