From 4c775b4d7dfde807ddb1b2086b390cb5d8509b8a Mon Sep 17 00:00:00 2001 From: ltheussl Date: Wed, 20 Dec 2006 00:09:04 +0000 Subject: [PATCH] PR: MPCHANGELOG-89 Plugin fails with anonymous access and empty password in scm url. git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@488860 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/org/apache/maven/util/RepositoryUtils.java | 13 ++++++++++++- .../test/org/apache/maven/util/RepositoryTest.java | 7 +++++++ changelog/xdocs/changes.xml | 1 + 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/changelog/src/main/org/apache/maven/util/RepositoryUtils.java b/changelog/src/main/org/apache/maven/util/RepositoryUtils.java index 3005b224..e034a120 100755 --- a/changelog/src/main/org/apache/maven/util/RepositoryUtils.java +++ b/changelog/src/main/org/apache/maven/util/RepositoryUtils.java @@ -120,8 +120,19 @@ public final class RepositoryUtils "cvs local repository connection string doesn't contain five tokens" ); } } + else if ( ( tokens.length == 7 ) && tokens[2].equals( "pserver" ) && tokens[4].startsWith("@")) + { + String[] newTokens = new String[6]; - if ( tokens.length != 6 ) + newTokens[0] = tokens[0]; + newTokens[1] = tokens[1]; + newTokens[2] = tokens[2]; + newTokens[3] = tokens[3] + tokens[4]; + newTokens[4] = tokens[5]; + newTokens[5] = tokens[6]; + tokens = newTokens; + } + else if ( tokens.length != 6 ) { throw new IllegalArgumentException( "cvs repository connection string doesn't contain six tokens" ); diff --git a/changelog/src/test/org/apache/maven/util/RepositoryTest.java b/changelog/src/test/org/apache/maven/util/RepositoryTest.java index accf5742..1033680f 100644 --- a/changelog/src/test/org/apache/maven/util/RepositoryTest.java +++ b/changelog/src/test/org/apache/maven/util/RepositoryTest.java @@ -43,6 +43,13 @@ public class RepositoryTest assertEquals("Wrong number of tokens split", 6, tokens.length); } + public void testSplitScmConnectionEmptyPassword() + { + String con = "scm:cvs:pserver:anoncvs:@cvs.apache.org:/cvs/root:module"; + String[] tokens = RepositoryUtils.splitSCMConnection(con); + assertEquals("Empty password should be ignored", "anoncvs@cvs.apache.org", tokens[3]); + } + public void testSplitScmConnectionCvsLocal5Tokens() { String con = "scm:cvs:local:/cvs/root:module"; diff --git a/changelog/xdocs/changes.xml b/changelog/xdocs/changes.xml index 0a21389c..771bd3bb 100644 --- a/changelog/xdocs/changes.xml +++ b/changelog/xdocs/changes.xml @@ -25,6 +25,7 @@ + Plugin fails with anonymous access and empty password in scm url. Upgrade maven-model to version 3.0.2 New property maven.changelog.useDeveloperConnection. Support time period in MKS changelog parser.