You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm-commits@maven.apache.org by oc...@apache.org on 2010/06/22 09:25:47 UTC

svn commit: r956796 - in /maven/scm/trunk: maven-scm-api/src/main/java/org/apache/maven/scm/provider/ maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/ maven-scm-providers/mav...

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:oching@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:oching@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://anonymous@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";
     }
 }