Author: kenney
Date: Fri Jan 12 14:39:21 2007
New Revision: 495767

URL: http://svn.apache.org/viewvc?view=rev&rev=495767
Log:
Add new checkout method (add param recursive) in the api and default impl's for 
backwards compatibility

Modified:
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/ListScmResult.java
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java

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=495767&r1=495766&r2=495767
==============================================================================
--- 
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
 Fri Jan 12 14:39:21 2007
@@ -34,6 +34,7 @@
 public class ListScmResult
     extends ScmResult
 {
+    // XXX List of what?
     private List files;
 
     public ListScmResult( String commandLine, String providerMessage, String 
commandOutput, boolean success )
@@ -43,6 +44,7 @@
         files = new ArrayList( 0 );
     }
 
+    // XXX List of what?
     public ListScmResult( String commandLine, List files )
     {
         super( commandLine, null, null, true );
@@ -50,6 +52,7 @@
         this.files = files;
     }
 
+    // XXX List of what?
     public ListScmResult( List files, ScmResult result )
     {
         super( result );
@@ -57,6 +60,7 @@
         this.files = files;
     }
 
+    // XXX List of what?
     public List getFiles()
     {
         return files;

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?view=diff&rev=495767&r1=495766&r2=495767
==============================================================================
--- 
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
 Fri Jan 12 14:39:21 2007
@@ -244,11 +244,19 @@
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet 
fileSet, String tag )
         throws ScmException
     {
+        return checkOut( repository, fileSet, tag, true );
+    }
+
+    public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet 
fileSet, String tag, boolean recursive )
+        throws ScmException
+    {
         login( repository, fileSet );
 
         CommandParameters parameters = new CommandParameters();
 
         parameters.setString( CommandParameter.TAG, tag );
+
+        parameters.setString( CommandParameter.RECURSIVE, recursive + "" );
 
         return checkout( repository, fileSet, parameters );
     }

Modified: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java?view=diff&rev=495767&r1=495766&r2=495767
==============================================================================
--- 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
 (original)
+++ 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
 Fri Jan 12 14:39:21 2007
@@ -183,6 +183,10 @@
     /**
      * Save the changes you have done into the repository. This will create a 
new version of the file or
      * directory in the repository.
+     * <p>
+     * When the fileSet has no entries, the fileSet.getBaseDir() is 
recursively committed.
+     * When the fileSet has entries, the commit is non-recursive and only the 
elements in the fileSet
+     * are committed.
      *
      * @param repository the source control system
      * @param fileSet    the files to check in (sometimes called commit)
@@ -204,6 +208,19 @@
      * @throws ScmException
      */
     CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, 
String tag )
+        throws ScmException;
+
+    /**
+     * Create a copy of the repository on your local machine.
+     *
+     * @param repository the source control system
+     * @param File       location to check out to
+     * @param tag        tag or revision
+     * @param recursive  whether to check out recursively
+     * @return
+     * @throws ScmException
+     */
+    CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet 
scmFileSet, String tag, boolean recursive )
         throws ScmException;
 
     DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, String 
startRevision, String endRevision )


Reply via email to