Author: oching Date: Tue Jun 22 07:25:47 2010 New Revision: 956796 URL: http://svn.apache.org/viewvc?rev=956796&view=rev Log: [SCM-558] Wagon SCM does not automatically create missing directories during deployment o implement mkdir command for cvs + tck tests o moved tck test for excuting mkdir on url to svn tck test since it is only applicable there
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/mkdir/ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/mkdir/CvsExeMkdirCommand.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/mkdir/ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/mkdir/CvsExeMkdirCommandTckTest.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/mkdir/ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/mkdir/CvsMkdirCommandTckTest.java Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/TestCvsScmProvider.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/CvsJavaScmProvider.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/mkdir/SvnMkdirCommandTckTest.java maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/mkdir/MkdirCommandTckTest.java Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java?rev=956796&r1=956795&r2=956796&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java (original) +++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java Tue Jun 22 07:25:47 2010 @@ -616,7 +616,16 @@ public abstract class AbstractScmProvide login( repository, fileSet ); CommandParameters parameters = new CommandParameters(); - + + if( message == null ) + { + message = ""; + if( !createInLocal ) + { + getLogger().warn( "Commit message is empty!" ); + } + } + parameters.setString( CommandParameter.MESSAGE, message ); parameters.setString( CommandParameter.SCM_MKDIR_CREATE_IN_LOCAL, Boolean.toString( createInLocal ) ); Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java?rev=956796&r1=956795&r2=956796&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java Tue Jun 22 07:25:47 2010 @@ -40,6 +40,7 @@ import org.apache.maven.scm.command.diff import org.apache.maven.scm.command.export.ExportScmResult; import org.apache.maven.scm.command.list.ListScmResult; import org.apache.maven.scm.command.login.LoginScmResult; +import org.apache.maven.scm.command.mkdir.MkdirScmResult; import org.apache.maven.scm.command.remove.RemoveScmResult; import org.apache.maven.scm.command.status.StatusScmResult; import org.apache.maven.scm.command.tag.TagScmResult; @@ -354,6 +355,13 @@ public abstract class AbstractCvsScmProv { return (ListScmResult) executeCommand( getListCommand(), repository, fileSet, parameters ); } + + /** {...@inheritdoc} */ + protected MkdirScmResult mkdir( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + return (MkdirScmResult) executeCommand( getMkdirCommand(), repository, fileSet, parameters ); + } /** * @param basedir not null @@ -734,6 +742,8 @@ public abstract class AbstractCvsScmProv protected abstract Command getTagCommand(); protected abstract Command getUpdateCommand(); + + protected abstract Command getMkdirCommand(); // ---------------------------------------------------------------------- // Private methods Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/TestCvsScmProvider.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/TestCvsScmProvider.java?rev=956796&r1=956795&r2=956796&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/TestCvsScmProvider.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/TestCvsScmProvider.java Tue Jun 22 07:25:47 2010 @@ -93,4 +93,9 @@ public class TestCvsScmProvider { return null; } + + protected Command getMkdirCommand() + { + return null; + } } Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java?rev=956796&r1=956795&r2=956796&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java Tue Jun 22 07:25:47 2010 @@ -30,6 +30,7 @@ import org.apache.maven.scm.provider.cvs import org.apache.maven.scm.provider.cvslib.cvsexe.command.diff.CvsExeDiffCommand; import org.apache.maven.scm.provider.cvslib.cvsexe.command.export.CvsExeExportCommand; import org.apache.maven.scm.provider.cvslib.cvsexe.command.list.CvsExeListCommand; +import org.apache.maven.scm.provider.cvslib.cvsexe.command.mkdir.CvsExeMkdirCommand; import org.apache.maven.scm.provider.cvslib.cvsexe.command.remove.CvsExeRemoveCommand; import org.apache.maven.scm.provider.cvslib.cvsexe.command.status.CvsExeStatusCommand; import org.apache.maven.scm.provider.cvslib.cvsexe.command.tag.CvsExeTagCommand; @@ -125,6 +126,12 @@ public class CvsExeScmProvider { return new CvsExeUpdateCommand(); } + + /** {...@inheritdoc} */ + protected Command getMkdirCommand() + { + return new CvsExeMkdirCommand(); + } /** {...@inheritdoc} */ protected ScmUrlParserResult parseScmUrl( String scmSpecificUrl, char delimiter ) Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/mkdir/CvsExeMkdirCommand.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/mkdir/CvsExeMkdirCommand.java?rev=956796&view=auto ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/mkdir/CvsExeMkdirCommand.java (added) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/mkdir/CvsExeMkdirCommand.java Tue Jun 22 07:25:47 2010 @@ -0,0 +1,63 @@ +package org.apache.maven.scm.provider.cvslib.cvsexe.command.mkdir; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.scm.CommandParameter; +import org.apache.maven.scm.CommandParameters; +import org.apache.maven.scm.ScmException; +import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.ScmResult; +import org.apache.maven.scm.command.mkdir.AbstractMkdirCommand; +import org.apache.maven.scm.command.mkdir.MkdirScmResult; +import org.apache.maven.scm.provider.ScmProviderRepository; +import org.apache.maven.scm.provider.cvslib.cvsexe.command.add.CvsExeAddCommand; + +/** + * @author <a href="mailto:och...@apache.org">Maria Odea Ching</a> + * @version $Id$ + */ +public class CvsExeMkdirCommand + extends AbstractMkdirCommand +{ + protected MkdirScmResult executeMkdirCommand( ScmProviderRepository repository, ScmFileSet fileSet, String message, + boolean createInLocal ) + throws ScmException + { + CommandParameters parameters = new CommandParameters(); + + parameters.setString( CommandParameter.MESSAGE, message == null ? "" : message ); + + parameters.setString( CommandParameter.BINARY, "false" ); + + // just invoke add command + CvsExeAddCommand cmd = new CvsExeAddCommand(); + cmd.setLogger( getLogger() ); + + ScmResult addResult = cmd.execute( repository, fileSet, parameters ); + + if ( !addResult.isSuccess() ) + { + return new MkdirScmResult( addResult.getCommandLine().toString(), "The cvs command failed.", + addResult.getCommandOutput(), false ); + } + + return new MkdirScmResult( addResult.getCommandLine().toString(), fileSet.getFileList() ); + } +} Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/mkdir/CvsExeMkdirCommandTckTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/mkdir/CvsExeMkdirCommandTckTest.java?rev=956796&view=auto ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/mkdir/CvsExeMkdirCommandTckTest.java (added) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/mkdir/CvsExeMkdirCommandTckTest.java Tue Jun 22 07:25:47 2010 @@ -0,0 +1,33 @@ +package org.apache.maven.scm.provider.cvslib.cvsexe.command.mkdir; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.scm.provider.cvslib.command.mkdir.CvsMkdirCommandTckTest; + +/** + * This test tests the mkdir command. + * + * @author <a href="mailto:och...@apache.org">Maria Odea Ching</a> + * @version $Id$ + */ +public class CvsExeMkdirCommandTckTest + extends CvsMkdirCommandTckTest +{ +} Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/CvsJavaScmProvider.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/CvsJavaScmProvider.java?rev=956796&r1=956795&r2=956796&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/CvsJavaScmProvider.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/CvsJavaScmProvider.java Tue Jun 22 07:25:47 2010 @@ -120,4 +120,10 @@ public class CvsJavaScmProvider { return new CvsJavaUpdateCommand(); } + + /** {...@inheritdoc} */ + protected Command getMkdirCommand() + { + return null; + } } Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/mkdir/CvsMkdirCommandTckTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/mkdir/CvsMkdirCommandTckTest.java?rev=956796&view=auto ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/mkdir/CvsMkdirCommandTckTest.java (added) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/mkdir/CvsMkdirCommandTckTest.java Tue Jun 22 07:25:47 2010 @@ -0,0 +1,60 @@ +package org.apache.maven.scm.provider.cvslib.command.mkdir; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import java.io.File; + +import org.apache.maven.scm.provider.cvslib.CvsScmTestUtils; +import org.apache.maven.scm.tck.command.mkdir.MkdirCommandTckTest; +import org.codehaus.plexus.util.FileUtils; + +public class CvsMkdirCommandTckTest + extends MkdirCommandTckTest +{ + /** {...@inheritdoc} */ + public String getScmUrl() + { + return CvsScmTestUtils.getScmUrl( getRepositoryRoot(), getModule() ); + } + + /** {...@inheritdoc} */ + protected String getModule() + { + return "test-repo/module"; + } + + /** {...@inheritdoc} */ + public void initRepo() + throws Exception + { + // TODO: should have an assertion directory? + CvsScmTestUtils.initRepo( "src/test/tck-repository/", getRepositoryRoot(), getWorkingDirectory() ); + } + + protected void setUp() + throws Exception + { + super.setUp(); + + // create the directory to be added + FileUtils.mkdir( new File( getWorkingDirectory(), getMissingDirectory() ).getPath() ); + assertTrue( new File( getWorkingDirectory(), getMissingDirectory() ).exists() ); + } +} Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java?rev=956796&r1=956795&r2=956796&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java Tue Jun 22 07:25:47 2010 @@ -51,8 +51,8 @@ public class SvnMkdirCommand protected MkdirScmResult executeMkdirCommand( ScmProviderRepository repository, ScmFileSet fileSet, String message, boolean createInLocal ) throws ScmException { - File messageFile = FileUtils.createTempFile( "maven-scm-", ".commit", null ); - + File messageFile = FileUtils.createTempFile( "maven-scm-", ".commit", null ); + try { FileUtils.fileWrite( messageFile.getAbsolutePath(), message ); @@ -86,7 +86,7 @@ public class SvnMkdirCommand throw new ScmException( "Error while executing command.", ex ); } finally - { + { try { FileUtils.forceDelete( messageFile ); @@ -129,19 +129,21 @@ public class SvnMkdirCommand if( !createInLocal ) { - cl.createArg().setValue( repository.getUrl() + "/" + dirPath ); + cl.createArg().setValue( repository.getUrl() + "/" + dirPath ); + + if( messageFile != null ) + { + cl.createArg().setValue( "--file" ); + cl.createArg().setValue( messageFile.getAbsolutePath() ); + } } else { cl.createArg().setValue( dirPath ); } - if ( messageFile != null ) - { - cl.createArg().setValue( "--file" ); - cl.createArg().setValue( messageFile.getAbsolutePath() ); - } - + + return cl; } } Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java?rev=956796&r1=956795&r2=956796&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java Tue Jun 22 07:25:47 2010 @@ -25,6 +25,7 @@ import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository; import org.apache.maven.scm.repository.ScmRepository; +import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.cli.Commandline; /** @@ -45,13 +46,23 @@ public class SvnMkdirCommandTest messageFile = new File( "mkdir-message" ); - String path = messageFile.getAbsolutePath(); + String path = messageFile.getAbsolutePath(); + FileUtils.fileWrite( path, "create missing directory" ); + if ( path.indexOf( ' ' ) >= 0 ) { path = "\"" + path + "\""; } messageFileString = "--file " + path; } + + protected void tearDown() + throws Exception + { + assertTrue( messageFile.delete() ); + + super.tearDown(); + } public void testCommandLineMkdirUrl() throws Exception @@ -71,15 +82,7 @@ public class SvnMkdirCommandTest public void testCommandLineMkdirLocalPath() throws Exception { - testCommandLine( "scm:svn:http://foo.com/svn/trunk", "svn --non-interactive mkdir missing " + - messageFileString, true ); - } - - public void testCommandLineMkdirLocalPathWithUsername() - throws Exception - { - testCommandLine( "scm:svn:http://anonym...@foo.com/svn/trunk", - "svn --username anonymous --non-interactive mkdir missing " + messageFileString, true ); + testCommandLine( "scm:svn:http://foo.com/svn/trunk", "svn --non-interactive mkdir missing ", true ); } private void testCommandLine( String scmUrl, String commandLine, boolean createInLocal ) Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/mkdir/SvnMkdirCommandTckTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/mkdir/SvnMkdirCommandTckTest.java?rev=956796&r1=956795&r2=956796&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/mkdir/SvnMkdirCommandTckTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/mkdir/SvnMkdirCommandTckTest.java Tue Jun 22 07:25:47 2010 @@ -21,6 +21,9 @@ package org.apache.maven.scm.provider.sv import java.io.File; +import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.command.list.ListScmResult; +import org.apache.maven.scm.command.mkdir.MkdirScmResult; import org.apache.maven.scm.provider.svn.SvnScmTestUtils; import org.apache.maven.scm.tck.command.mkdir.MkdirCommandTckTest; @@ -44,4 +47,20 @@ public class SvnMkdirCommandTckTest { SvnScmTestUtils.initializeRepository( getRepositoryRoot() ); } + + public void testMkdirCommandMkdirUrl() + throws Exception + { + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy(), new File( getMissingDirectory() ) ); + + MkdirScmResult result = getScmManager().mkdir( getScmRepository(), fileSet, "Mkdir message", false ); + + assertResultIsSuccess( result ); + + assertNotNull( result.getRevision() ); + + ListScmResult listResult = getScmManager().list( getScmRepository(), fileSet, true, null ); + + assertTrue( "Directory should have been found.", listResult.isSuccess() ); + } } Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/mkdir/MkdirCommandTckTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/mkdir/MkdirCommandTckTest.java?rev=956796&r1=956795&r2=956796&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/mkdir/MkdirCommandTckTest.java (original) +++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/mkdir/MkdirCommandTckTest.java Tue Jun 22 07:25:47 2010 @@ -23,7 +23,6 @@ import java.io.File; import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.ScmTckTestCase; -import org.apache.maven.scm.command.list.ListScmResult; import org.apache.maven.scm.command.mkdir.MkdirScmResult; /** @@ -35,19 +34,22 @@ import org.apache.maven.scm.command.mkdi public abstract class MkdirCommandTckTest extends ScmTckTestCase { - public void testMkdirCommand() + public void testMkdirCommandMkdirLocal() throws Exception { - ScmFileSet fileSet = new ScmFileSet( getWorkingCopy(), new File( "missing" ) ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy(), new File( getMissingDirectory() ) ); - MkdirScmResult result = getScmManager().mkdir( getScmRepository(), fileSet, "Mkdir message", false ); + MkdirScmResult result = getScmManager().mkdir( getScmRepository(), fileSet, null, true ); assertResultIsSuccess( result ); - assertNotNull( result.getRevision() ); + assertNotNull( result.getCreatedDirs() ); - ListScmResult listResult = getScmManager().list( getScmRepository(), fileSet, true, null ); + assertTrue( "Directory should have been added.", 1 == result.getCreatedDirs().size() ); + } - assertTrue( "File should have been found.", listResult.isSuccess() ); + protected String getMissingDirectory() + { + return "missing"; } }