You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2015/03/30 20:57:09 UTC
svn commit: r1670177 - in /maven/release/trunk/maven-release-manager/src:
main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java
Author: rfscholte
Date: Mon Mar 30 18:57:09 2015
New Revision: 1670177
URL: http://svn.apache.org/r1670177
Log:
[MRELEASE-871] Release Tag wrongly created when invoked pom.xml path contains a '.'
Fix testGetBaseScmUrlSingleLevelDotCharacter
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java?rev=1670177&r1=1670176&r2=1670177&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java Mon Mar 30 18:57:09 2015
@@ -269,6 +269,10 @@ public class ReleaseUtil
{
if ( !StringUtils.isEmpty( url ) )
{
+ // normalize
+ url = url.replaceAll( "/\\./", "/" ).replaceAll( "/\\.$", "" ).
+ replaceAll( "/[^/]+/../", "/" ).replaceAll("/[^/]+/..$","");
+
int index = url.length();
String suffix = "";
if ( url.endsWith( "/" ) )
@@ -276,6 +280,7 @@ public class ReleaseUtil
index--;
suffix = "/";
}
+
for ( int i = 0; i < parentLevels && index > 0; i++ )
{
index = url.lastIndexOf( '/', index - 1 );
@@ -285,6 +290,7 @@ public class ReleaseUtil
{
url = url.substring( 0, index ) + suffix;
}
+
}
return url;
}
Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java?rev=1670177&r1=1670176&r2=1670177&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java Mon Mar 30 18:57:09 2015
@@ -182,13 +182,18 @@ public class ReleaseUtilTest
public void testGetBaseScmUrlSingleLevelDotCharacter()
throws Exception
{
- assumeTrue( Os.isFamily( Os.FAMILY_UNIX ) );
+ assertEquals( "scm:svn:http://svn.repo.com/flat-multi-module/trunk",
+ ReleaseUtil.realignScmUrl( 0, "scm:svn:http://svn.repo.com/flat-multi-module/trunk/." ) );
assertEquals( "scm:svn:http://svn.repo.com/flat-multi-module/trunk/",
- ReleaseUtil.realignScmUrl( 0, "scm:svn:http://svn.repo.com/flat-multi-module/trunk/." ) );
- assertEquals( "scm:svn:http://svn.repo.com/flat-multi-module/trunk/",
- ReleaseUtil.realignScmUrl( 0, "scm:svn:http://svn.repo.com/flat-multi-module/trunk/./" ) );
- assertEquals( "scm:svn:http://svn.repo.com/flat-multi-module/trunk/",
- ReleaseUtil.realignScmUrl(0, "scm:svn:http://svn.repo.com/flat-multi-module/trunk/../trunk") );
+ ReleaseUtil.realignScmUrl( 0, "scm:svn:http://svn.repo.com/flat-multi-module/trunk/./" ) );
+ assertEquals( "scm:svn:http://svn.repo.com/flat-multi-module/trunk/project",
+ ReleaseUtil.realignScmUrl( 0, "scm:svn:http://svn.repo.com/flat-multi-module/trunk/./project" ) );
+ assertEquals( "scm:svn:http://svn.repo.com/flat-multi-module",
+ ReleaseUtil.realignScmUrl( 0, "scm:svn:http://svn.repo.com/flat-multi-module/trunk/.." ) );
+ assertEquals( "scm:svn:http://svn.repo.com/flat-multi-module/",
+ ReleaseUtil.realignScmUrl( 0, "scm:svn:http://svn.repo.com/flat-multi-module/trunk/../" ) );
+ assertEquals( "scm:svn:http://svn.repo.com/flat-multi-module/branches",
+ ReleaseUtil.realignScmUrl( 0, "scm:svn:http://svn.repo.com/flat-multi-module/trunk/../branches" ) );
}
@Test