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:[email protected]">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