You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "David SPORN (JIRA)" <ji...@codehaus.org> on 2015/03/12 16:59:18 UTC
[jira] (SCM-695) Mvn release plugin problems with too many - in
name
[ https://jira.codehaus.org/browse/SCM-695?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=364886#comment-364886 ]
David SPORN commented on SCM-695:
---------------------------------
_This is a copy of my comment on the issue [MRELEASE-701|https://jira.codehaus.org/browse/MRELEASE-701] _
Found the root cause :
* *module :* maven-scm-provider-gitexe-1.9.2.jar
* *package :* org.apache.maven.scm.provider.git.gitexe.command
* *Class#function :* GitCommandLineUtils#addTarget( Commandline cl, List<File> files ), around line 57
In this function, file names are processed to remove a common prefix, that is the path of the working directory :
{code:title=GitCommandLineUtils#addTarget( Commandline cl, List<File> files )|borderStyle=solid}
public static void addTarget( Commandline cl, List<File> files )
{
if ( files == null || files.isEmpty() )
{
return;
}
final File workingDirectory = cl.getWorkingDirectory();
try
{
final String canonicalWorkingDirectory = workingDirectory.getCanonicalPath();
for ( File file : files )
{
String relativeFile = file.getPath();
final String canonicalFile = file.getCanonicalPath();
if ( canonicalFile.startsWith( canonicalWorkingDirectory ) )
{
// so we can omit the starting characters
relativeFile = canonicalFile.substring( canonicalWorkingDirectory.length() );
if ( relativeFile.startsWith( File.separator ) )
{
relativeFile = relativeFile.substring( File.separator.length() );
}
}
// no setFile() since this screws up the working directory!
cl.createArg().setValue( relativeFile );
}
}
catch ( IOException ex )
{
throw new IllegalArgumentException( "Could not get canonical paths for workingDirectory = "
+ workingDirectory + " or files=" + files, ex );
}
}
{code}
This behaviour works well with a project organisation that follows maven convention, but in the case of a flat organisation and projects folder names being the name of the parent project + prefix, we get the observed result.
> Mvn release plugin problems with too many - in name
> ---------------------------------------------------
>
> Key: SCM-695
> URL: https://jira.codehaus.org/browse/SCM-695
> Project: Maven SCM
> Issue Type: Bug
> Components: maven-scm-provider-git
> Affects Versions: 1.7
> Environment: Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100)
> Maven home: /home/devent/apps/apache-maven-3.0.3
> Java version: 1.7.0_b147-icedtea, vendor: Oracle Corporation
> Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.1/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "3.1.9-1.fc16.i686", arch: "i386", family: "unix"
> Reporter: Erwin Mueller
> Priority: Blocker
> Attachments: mvn-release-prepare.log
>
>
> Have maven problems with modules containing too many "-"?
> I have projects that are named:
> globalpom-groovy/
> globalpom-groovy/globalpom-groovy/pom.xml < parent pom
> globalpom-groovy/globalpom-groovy-izpack/pom.xml
> globalpom-groovy/globalpom-groovy-izpack-snglejar/pom.xml
> globalpom-groovy/globalpom-groovy-testutils/pom.xml
> But if I do mvn release:prepare inside of globalpom-groovy/globalpom-groovy/, then I get the error:
> [INFO] Executing: /bin/sh -c cd
> /mnt/read/projects/com.anrisoftware/globalpom/globalpom-groovy/globalpom-
> groovy && git add -- pom.xml -izpack/pom.xml -izpack-singlejar/pom.xml -
> testutils/pom.xml
> [INFO] Working directory:
> /mnt/read/projects/com.anrisoftware/globalpom/globalpom-groovy/globalpom-
> groovy
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Global POM Groovy ................................. FAILURE [12.365s]
> [INFO] Global POM Groovy IzPack .......................... SKIPPED
> [INFO] Global POM Groovy IzPack Single Jar ............... SKIPPED
> [INFO] Global POM Groovy Test Utilities .................. SKIPPED
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 13.066s
> [INFO] Finished at: Sat Jan 21 15:45:50 CET 2012
> [INFO] Final Memory: 12M/152M
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-
> plugin:2.0:prepare (default-cli) on project globalpom-groovy: Unable to commit
> files
> [ERROR] Provider message:
> [ERROR] The git-add command failed.
> [ERROR] Command output:
> [ERROR] fatal: pathspec 'globalpom-groovy/-izpack/pom.xml' did not match any
> files
> Of course that's wrong 'globalpom-groovy/-izpack/pom.xml' should be
> '../globalpom-groovy-izpack/pom.xml', or something like that.
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)