You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2012/06/13 22:49:43 UTC
svn commit: r1350009 - in /maven/scm/trunk:
maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/
maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout...
Author: olamy
Date: Wed Jun 13 20:49:42 2012
New Revision: 1350009
URL: http://svn.apache.org/viewvc?rev=1350009&view=rev
Log:
[SCM-676] Add property "revision" to CheckOutScmResult
Submitted by Petr Kozelka.
Modified:
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/CheckOutScmResult.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/checkout/SvnCheckOutCommand.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/checkout/SvnCheckOutConsumerTest.java
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/CheckOutScmResult.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/CheckOutScmResult.java?rev=1350009&r1=1350008&r2=1350009&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/CheckOutScmResult.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/CheckOutScmResult.java Wed Jun 13 20:49:42 2012
@@ -19,11 +19,11 @@ package org.apache.maven.scm.command.che
* under the License.
*/
-import java.util.List;
-
import org.apache.maven.scm.ScmFile;
import org.apache.maven.scm.ScmResult;
+import java.util.List;
+
/**
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
* @author Olivier Lamy
@@ -37,6 +37,8 @@ public class CheckOutScmResult
private List<ScmFile> checkedOutFiles;
+ private String revision;
+
/**
* The relative path of the directory of the checked out project in comparison to the checkout directory, or
* an empty String in case the checkout directory equals the project directory.
@@ -56,14 +58,27 @@ public class CheckOutScmResult
public CheckOutScmResult( String commandLine, List<ScmFile> checkedOutFiles )
{
+ this( commandLine, null, checkedOutFiles );
+ }
+
+ public CheckOutScmResult( String commandLine, String revision, List<ScmFile> checkedOutFiles )
+ {
super( commandLine, null, null, true );
+ this.revision = revision;
+
this.checkedOutFiles = checkedOutFiles;
}
public CheckOutScmResult( String commandLine, List<ScmFile> checkedOutFiles, String relativePathProjectDirectory )
{
- this( commandLine, checkedOutFiles );
+ this( commandLine, null, checkedOutFiles );
+ }
+
+ public CheckOutScmResult( String commandLine, String revision, List<ScmFile> checkedOutFiles,
+ String relativePathProjectDirectory )
+ {
+ this( commandLine, revision, checkedOutFiles );
if ( relativePathProjectDirectory != null )
{
@@ -91,4 +106,15 @@ public class CheckOutScmResult
{
return relativePathProjectDirectory;
}
+
+ /**
+ * Checked-out revision.
+ * SCM's that have no revision per repository (or branch) should store <code>null</code> here.
+ *
+ * @return the revision that was checked out.
+ */
+ public String getRevision()
+ {
+ return revision;
+ }
}
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/checkout/SvnCheckOutCommand.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/checkout/SvnCheckOutCommand.java?rev=1350009&r1=1350008&r2=1350009&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/checkout/SvnCheckOutCommand.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/checkout/SvnCheckOutCommand.java Wed Jun 13 20:49:42 2012
@@ -49,7 +49,9 @@ public class SvnCheckOutCommand
extends AbstractCheckOutCommand
implements SvnCommand
{
- /** {@inheritDoc} */
+ /**
+ * {@inheritDoc}
+ */
protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
ScmVersion version, boolean recursive )
throws ScmException
@@ -100,7 +102,8 @@ public class SvnCheckOutCommand
return new CheckOutScmResult( cl.toString(), "The svn command failed.", stderr.getOutput(), false );
}
- return new CheckOutScmResult( cl.toString(), consumer.getCheckedOutFiles() );
+ return new CheckOutScmResult( cl.toString(), Integer.toString( consumer.getRevision() ),
+ consumer.getCheckedOutFiles() );
}
// ----------------------------------------------------------------------
@@ -110,10 +113,10 @@ public class SvnCheckOutCommand
/**
* Create SVN check out command line in a recursive way.
*
- * @param repository not null
+ * @param repository not null
* @param workingDirectory not null
- * @param version not null
- * @param url not null
+ * @param version not null
+ * @param url not null
* @return the SVN command line for the SVN check out.
* @see #createCommandLine(SvnScmProviderRepository, File, ScmVersion, String, boolean)
*/
@@ -126,11 +129,11 @@ public class SvnCheckOutCommand
/**
* Create SVN check out command line.
*
- * @param repository not null
+ * @param repository not null
* @param workingDirectory not null
- * @param version not null
- * @param url not null
- * @param recursive <code>true</code> if recursive check out is wanted, <code>false</code> otherwise.
+ * @param version not null
+ * @param url not null
+ * @param recursive <code>true</code> if recursive check out is wanted, <code>false</code> otherwise.
* @return the SVN command line for the SVN check out.
* @since 1.1.1
*/
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/checkout/SvnCheckOutConsumerTest.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/checkout/SvnCheckOutConsumerTest.java?rev=1350009&r1=1350008&r2=1350009&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/checkout/SvnCheckOutConsumerTest.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/checkout/SvnCheckOutConsumerTest.java Wed Jun 13 20:49:42 2012
@@ -22,6 +22,7 @@ package org.apache.maven.scm.provider.sv
import java.io.File;
import org.apache.maven.scm.log.ScmLogDispatcher;
+import org.junit.Assert;
import org.junit.Test;
public class SvnCheckOutConsumerTest
@@ -36,5 +37,9 @@ public class SvnCheckOutConsumerTest
// SCM-618 StringIndexOutOfBoundsException
consumer.parseLine( "A " + file.getAbsolutePath() );
+
+ consumer.parseLine( "Checked out revision 1345915." );
+
+ Assert.assertEquals( 1345915, consumer.getRevision());
}
}
\ No newline at end of file