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 ev...@apache.org on 2007/03/13 13:52:31 UTC
svn commit: r517675 - in /maven/scm/trunk:
maven-scm-api/src/main/java/org/apache/maven/scm/command/list/
maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/
maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provid...
Author: evenisse
Date: Tue Mar 13 05:52:30 2007
New Revision: 517675
URL: http://svn.apache.org/viewvc?view=rev&rev=517675
Log:
[SCM-183] Add list command and list mojo
Added:
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ListMojo.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListScmResult.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/list/
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/list/LocalListCommandTckTest.java (with props)
Modified:
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/ListScmResult.java
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.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/command/list/AbstractCvsListCommand.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/list/SvnListCommand.java
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java?view=diff&rev=517675&r1=517674&r2=517675
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java Tue Mar 13 05:52:30 2007
@@ -44,7 +44,7 @@
* @throws ScmException
*/
protected abstract ListScmResult executeListCommand( ScmProviderRepository repository, ScmFileSet fileSet,
- boolean recursive )
+ boolean recursive, String tag )
throws ScmException;
public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
@@ -58,6 +58,8 @@
boolean recursive = parameters.getBoolean( CommandParameter.RECURSIVE );
- return executeListCommand( repository, fileSet, recursive );
+ String tag = parameters.getString( CommandParameter.TAG, null );
+
+ return executeListCommand( repository, fileSet, recursive, tag );
}
}
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/ListScmResult.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/ListScmResult.java?view=diff&rev=517675&r1=517674&r2=517675
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/ListScmResult.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/ListScmResult.java Tue Mar 13 05:52:30 2007
@@ -44,16 +44,14 @@
files = new ArrayList( 0 );
}
- // XXX List of what?
- public ListScmResult( String commandLine, List files )
+ public ListScmResult( String commandLine, List/*<ScmFile>*/ files )
{
super( commandLine, null, null, true );
this.files = files;
}
- // XXX List of what?
- public ListScmResult( List files, ScmResult result )
+ public ListScmResult( List/*<ScmFile>*/ files, ScmResult result )
{
super( result );
@@ -61,7 +59,7 @@
}
// XXX List of what?
- public List getFiles()
+ public List/*<ScmFile>*/ getFiles()
{
return files;
}
Modified: maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java?view=diff&rev=517675&r1=517674&r2=517675
==============================================================================
--- maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java (original)
+++ maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java Tue Mar 13 05:52:30 2007
@@ -341,4 +341,24 @@
"Command failed." + StringUtils.defaultString( result.getProviderMessage() ) );
}
}
+
+ public String getIncludes()
+ {
+ return includes;
+ }
+
+ public void setIncludes( String includes )
+ {
+ this.includes = includes;
+ }
+
+ public String getExcludes()
+ {
+ return excludes;
+ }
+
+ public void setExcludes( String excludes )
+ {
+ this.excludes = excludes;
+ }
}
Added: maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ListMojo.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ListMojo.java?view=auto&rev=517675
==============================================================================
--- maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ListMojo.java (added)
+++ maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ListMojo.java Tue Mar 13 05:52:30 2007
@@ -0,0 +1,122 @@
+package org.apache.maven.scm.plugin;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.command.list.ListScmResult;
+import org.apache.maven.scm.repository.ScmRepository;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Iterator;
+
+/*
+ * 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.
+ */
+
+/**
+ * Get a fresh copy of the latest source from the configured scm url.
+ *
+ * @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ * @goal list
+ * @description List files in project
+ */
+public class ListMojo
+ extends AbstractScmMojo
+{
+ /**
+ * Branch name.
+ *
+ * @parameter expression="${branch}"
+ */
+ private String branch;
+
+ /**
+ * The tag to use when checking out or tagging a project.
+ *
+ * @parameter expression="${tag}"
+ */
+ private String tag;
+
+ /**
+ * Use recursive mode.
+ *
+ * @parameter expression="${recursive}" default-value="true"
+ */
+ private boolean recursive = true;
+
+ public void execute()
+ throws MojoExecutionException, MojoFailureException
+ {
+ String currentTag = null;
+
+ if ( branch != null )
+ {
+ currentTag = branch;
+ }
+
+ if ( tag != null )
+ {
+ currentTag = tag;
+ }
+
+ try
+ {
+ ScmRepository repository = getScmRepository();
+ ListScmResult result = getScmManager().getProviderByRepository( repository ).list( repository, getFileSet(),
+ recursive, currentTag );
+
+ checkResult( result );
+
+ if ( result.getFiles() != null )
+ {
+ for ( Iterator i = result.getFiles().iterator(); i.hasNext(); )
+ {
+ ScmFile scmFile = (ScmFile) i.next();
+ getLog().info( scmFile.getPath() );
+ }
+ }
+ }
+ catch ( ScmException e )
+ {
+ throw new MojoExecutionException( "Cannot run list command : ", e );
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Cannot run list command : ", e );
+ }
+ }
+
+ public ScmFileSet getFileSet()
+ throws IOException
+ {
+ if ( getIncludes() != null || getExcludes() != null )
+ {
+ return new ScmFileSet( getWorkingDirectory(), getIncludes(), getExcludes() );
+ }
+ else
+ {
+ return new ScmFileSet( getWorkingDirectory(), new File( "." ) );
+ }
+ }
+
+}
+
Propchange: maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ListMojo.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ListMojo.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java?view=diff&rev=517675&r1=517674&r2=517675
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java Tue Mar 13 05:52:30 2007
@@ -26,6 +26,7 @@
import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
import org.apache.maven.scm.command.checkin.CheckInScmResult;
import org.apache.maven.scm.command.checkout.CheckOutScmResult;
+import org.apache.maven.scm.command.list.ListScmResult;
import org.apache.maven.scm.command.update.UpdateScmResult;
import org.apache.maven.scm.provider.AbstractScmProvider;
import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -33,6 +34,7 @@
import org.apache.maven.scm.provider.local.command.changelog.LocalChangeLogCommand;
import org.apache.maven.scm.provider.local.command.checkin.LocalCheckInCommand;
import org.apache.maven.scm.provider.local.command.checkout.LocalCheckOutCommand;
+import org.apache.maven.scm.provider.local.command.list.LocalListCommand;
import org.apache.maven.scm.provider.local.command.update.LocalUpdateCommand;
import org.apache.maven.scm.provider.local.repository.LocalScmProviderRepository;
import org.apache.maven.scm.repository.ScmRepository;
@@ -179,6 +181,28 @@
command.setLogger( getLogger() );
return (CheckOutScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters );
+ }
+
+ /**
+ * List each element (files and directories) of <B>fileSet</B> as they exist in the repository.
+ *
+ * @param repository the source control system
+ * @param fileSet the files to list
+ * @param parameters
+ * @return The list of files in the repository
+ * @throws org.apache.maven.scm.NoSuchCommandScmException
+ * unless overriden by subclass
+ * @throws org.apache.maven.scm.ScmException
+ *
+ */
+ protected ListScmResult list( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ LocalListCommand command = new LocalListCommand();
+
+ command.setLogger( getLogger() );
+
+ return (ListScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters );
}
/**
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java?view=auto&rev=517675
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java Tue Mar 13 05:52:30 2007
@@ -0,0 +1,143 @@
+package org.apache.maven.scm.provider.local.command.list;
+
+/*
+ * 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.ScmException;
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.command.list.AbstractListCommand;
+import org.apache.maven.scm.command.list.ListScmResult;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.local.repository.LocalScmProviderRepository;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class LocalListCommand
+ extends AbstractListCommand
+{
+ /**
+ * List contents of the remote repository
+ *
+ * @param repo what to list
+ * @param fileSet the files to list
+ * @param recursive whether list should return subfolder listing
+ * @return the list of files
+ * @throws org.apache.maven.scm.ScmException
+ *
+ */
+ protected ListScmResult executeListCommand( ScmProviderRepository repo, ScmFileSet fileSet, boolean recursive,
+ String tag )
+ throws ScmException
+ {
+ if ( !StringUtils.isEmpty( tag ) )
+ {
+ throw new ScmException( "The local scm doesn't support tags." );
+ }
+
+ LocalScmProviderRepository repository = (LocalScmProviderRepository) repo;
+
+ File root = new File( repository.getRoot() );
+
+ String module = repository.getModule();
+
+ File source = new File( root, module );
+
+ if ( !root.exists() )
+ {
+ throw new ScmException( "The base directory doesn't exist (" + root.getAbsolutePath() + ")." );
+ }
+
+ if ( !source.exists() )
+ {
+ throw new ScmException( "The module directory doesn't exist (" + source.getAbsolutePath() + ")." );
+ }
+
+ getLogger().info( "Listing files of '" + source.getAbsolutePath() + "'." );
+
+ try
+ {
+ if ( fileSet.getFileList() == null || fileSet.getFileList().isEmpty() )
+ {
+ return new LocalListScmResult( null, getFiles( source, source, recursive ) );
+ }
+ else
+ {
+ List files = new ArrayList();
+ Iterator it = fileSet.getFileList().iterator();
+
+ while ( it.hasNext() )
+ {
+ File file = (File) it.next();
+
+ files.addAll( getFiles( source, new File( source, file.getPath() ), recursive ) );
+ }
+
+ return new LocalListScmResult( null, files );
+ }
+ }
+ catch ( Exception e )
+ {
+ return new ListScmResult( null, "The svn command failed.", e.getMessage(), false );
+ }
+ }
+
+ private List getFiles( File source, File directory, boolean recursive )
+ throws Exception
+ {
+ if ( !directory.exists() )
+ {
+ throw new Exception( "Directory '" + directory.getAbsolutePath() + "' doesn't exist." );
+ }
+
+ List files = new ArrayList();
+
+ File[] filesArray = directory.listFiles();
+
+ if ( filesArray != null )
+ {
+ for ( int i = 0; i < filesArray.length; i++ )
+ {
+ File f = filesArray[i];
+
+ String path = f.getAbsolutePath().substring( source.getAbsolutePath().length() );
+ path = StringUtils.replace( path, "\\", "/" );
+ path = StringUtils.replace( path, "/./", "/" );
+
+ files.add( new ScmFile( path, ScmFileStatus.CHECKED_IN ) );
+
+ if ( f.isDirectory() && recursive )
+ {
+ files.addAll( getFiles( source, f, recursive ) );
+ }
+ }
+ }
+
+ return files;
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListScmResult.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListScmResult.java?view=auto&rev=517675
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListScmResult.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListScmResult.java Tue Mar 13 05:52:30 2007
@@ -0,0 +1,18 @@
+package org.apache.maven.scm.provider.local.command.list;
+
+import org.apache.maven.scm.command.list.ListScmResult;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class LocalListScmResult
+ extends ListScmResult
+{
+ public LocalListScmResult( String commandLine, List files )
+ {
+ super( commandLine, files);
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListScmResult.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListScmResult.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/list/LocalListCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/list/LocalListCommandTckTest.java?view=auto&rev=517675
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/list/LocalListCommandTckTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/list/LocalListCommandTckTest.java Tue Mar 13 05:52:30 2007
@@ -0,0 +1,56 @@
+package org.apache.maven.scm.provider.local.command.list;
+
+/*
+ * 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.tck.command.list.ListCommandTckTest;
+
+import java.io.File;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class LocalListCommandTckTest
+ extends ListCommandTckTest
+{
+ private String module = "check-out";
+
+ public String getScmUrl()
+ throws Exception
+ {
+ return "scm:local|" + getRepositoryRoot().getAbsolutePath() + "|" + module;
+ }
+
+ public void initRepo()
+ throws Exception
+ {
+ File root = new File( getRepositoryRoot() + "/" + module );
+
+ makeFile( root, "/pom.xml" );
+
+ makeFile( root, "/readme.txt" );
+
+ makeFile( root, "/src/main/java/Application.java" );
+
+ makeFile( root, "/src/test/java/Test.java" );
+
+ makeDirectory( root, "/src/test/resources" );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/list/LocalListCommandTckTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/list/LocalListCommandTckTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
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/command/list/AbstractCvsListCommand.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/command/list/AbstractCvsListCommand.java?view=diff&rev=517675&r1=517674&r2=517675
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/AbstractCvsListCommand.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/command/list/AbstractCvsListCommand.java Tue Mar 13 05:52:30 2007
@@ -27,28 +27,33 @@
import org.apache.maven.scm.provider.cvslib.command.CvsCommand;
import org.apache.maven.scm.provider.cvslib.command.CvsCommandUtils;
import org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository;
+import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.cli.Commandline;
/**
- *
* @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
- *
*/
public abstract class AbstractCvsListCommand
extends AbstractListCommand
implements CvsCommand
{
- protected ListScmResult executeListCommand( ScmProviderRepository repo, ScmFileSet fileSet,
- boolean recursive )
+ protected ListScmResult executeListCommand( ScmProviderRepository repo, ScmFileSet fileSet, boolean recursive,
+ String tag )
throws ScmException
{
CvsScmProviderRepository repository = (CvsScmProviderRepository) repo;
Commandline cl = CvsCommandUtils.getBaseCommand( "rls", repository, fileSet, "-n" );
+ if ( !StringUtils.isEmpty( tag ) )
+ {
+ cl.createArgument().setValue( "-r" );
+ cl.createArgument().setValue( tag );
+ }
+
cl.createArgument().setValue( "-d" );
- if ( recursive )
+ if ( recursive )
{
cl.createArgument().setValue( "-R" );
}
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/list/SvnListCommand.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/list/SvnListCommand.java?view=diff&rev=517675&r1=517674&r2=517675
==============================================================================
--- 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/list/SvnListCommand.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/list/SvnListCommand.java Tue Mar 13 05:52:30 2007
@@ -47,11 +47,11 @@
{
private static final File TMP_DIR = new File( System.getProperty( "java.io.tmpdir" ) );
- protected ListScmResult executeListCommand( ScmProviderRepository repository, ScmFileSet fileSet,
- boolean recursive )
+ protected ListScmResult executeListCommand( ScmProviderRepository repository, ScmFileSet fileSet, boolean recursive,
+ String revision )
throws ScmException
{
- Commandline cl = createCommandLine( (SvnScmProviderRepository) repository, fileSet, recursive, null );
+ Commandline cl = createCommandLine( (SvnScmProviderRepository) repository, fileSet, recursive, revision );
SvnListConsumer consumer = new SvnListConsumer();