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";
}
}