[ https://jira.codehaus.org/browse/MRELEASE-871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=344054#comment-344054 ]
Robert Scholte commented on MRELEASE-871: ----------------------------------------- Hi, first of all: thanks for the patch. It's a start, but I don't think it's correct yet. When handling directories, you should also be aware of the following: - a directoryName can also start with a dot ( /a/b/c/.hiddendirectory ) - two dots means one directory back. ( /a/b/../b/c ) If you write expand the {{org.apache.maven.shared.release.util.ReleaseUtilTest}} with these usecases, you'll see that your fix isn't complete. I think that if you wrap workingDirectory (and basedir?) with {{org.codehaus.plexus.util.FileUtils.normalize(String)}} it should already be better. > Release Tag wrongly created when invoked pom.xml path contains a '.' > -------------------------------------------------------------------- > > Key: MRELEASE-871 > URL: https://jira.codehaus.org/browse/MRELEASE-871 > Project: Maven Release Plugin > Issue Type: Bug > Components: perform, scm > Affects Versions: 2.5 > Environment: RHEL Linux, Windows 7, most probably others > Reporter: Gertjan Gaillet > Attachments: ReleaseUtil.java.patch > > > *Issue* > When invoking the maven release plugin on a pom.xml referenced by a path > including a '.', the release tag created is incorrect. > Example: mvn clean release:clean release:prepare release:perform \[options\] > -f ./pom.xml > This is true for both modular and hierarchical projects: > {code}/parent-pom/pom.xml > /module-a/pom.xml > /module-b/pom.xml{code} > and > {code}/pom.xml <-- this is the parent pom > /module-a/pom.xml > /module-b/pom.xml{code} > When releasing projects with either structure, invoking maven with "-f > ./parent-pom/pom.xml" and "-f ./pom.xml" respectively, the tag operation > copies from one level too high. For example if the svn structure is as > follows: > {code}/trunk (at v 1.0.0-SNAPSHOT) > /branches/project-0.1.x (at v 0.1.0-SNAPSHOT) > /branches/project-0.2.x (at v 0.2.0-SNAPSHOT) > /tags/project-0.1.0{code} > and a release is being made from trunk, the tag project-1.0.0 would contain > the complete svn structure. When a release is being made from > /branches/project-0.1.x, the tag project-0.1.0 would contain the two branches: > {code}/branches/project-0.1.x > /branches/project-0.2.x{code} > *Root cause* > After some debugging, I've found that the issue is caused by function > getBaseWorkingDirectoryParentCount in > org.apache.maven.shared.release.util.ReleaseUtil. > I've created a patch (for trunk and 2.5), as attached, and tested it > successfully on Windows7 and RHEL, with jdk1.6.0_26 and maven 3.0.4. > Let me know if the patch is OK (we are currently using it without any issue, > and resolving this bug) and I'll commit it accordingly. -- This message was sent by Atlassian JIRA (v6.1.6#6162)