You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by GitBox <gi...@apache.org> on 2018/03/18 23:25:55 UTC
[GitHub] olamy closed pull request #65: [SCM-867] fix ScmWagon has no way to work with CVS in binary mode
olamy closed pull request #65: [SCM-867] fix ScmWagon has no way to work with CVS in binary mode
URL: https://github.com/apache/maven-scm/pull/65
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java b/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
index e0dfb4178..dfcc88d8b 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
@@ -167,9 +167,12 @@ public AddScmResult add( ScmRepository repository, ScmFileSet fileSet, CommandPa
{
login( repository, fileSet );
- // TODO: binary may be dependant on particular files though
- // TODO: set boolean?
- parameters.setString( CommandParameter.BINARY, "false" );
+ if ( parameters.getString( CommandParameter.BINARY , null ) == null )
+ {
+ // TODO: binary may be dependant on particular files though
+ // TODO: set boolean?
+ parameters.setString( CommandParameter.BINARY, "false" );
+ }
return add( repository.getProviderRepository(), fileSet, parameters );
}
@@ -503,6 +506,10 @@ public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet,
throws ScmException
{
login( repository, fileSet );
+ if ( scmVersion != null && commandParameters.getScmVersion( CommandParameter.SCM_VERSION, null ) == null )
+ {
+ commandParameters.setScmVersion( CommandParameter.SCM_VERSION, scmVersion );
+ }
return checkout( repository.getProviderRepository(), fileSet, commandParameters );
}
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/AbstractCvsCheckOutCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/AbstractCvsCheckOutCommand.java
index e47b31de8..24df188d1 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/AbstractCvsCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/AbstractCvsCheckOutCommand.java
@@ -19,8 +19,11 @@
* 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.ScmVersion;
import org.apache.maven.scm.command.checkout.AbstractCheckOutCommand;
import org.apache.maven.scm.command.checkout.CheckOutScmResult;
@@ -43,11 +46,28 @@
extends AbstractCheckOutCommand
implements CvsCommand
{
- /** {@inheritDoc} */
+
+ /**
+ * The overriden {@link #executeCommand(ScmProviderRepository, ScmFileSet, CommandParameters)}
+ * in this class will not call this method!
+ * <p>
+ * {@inheritDoc}
+ */
protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
ScmVersion version, boolean recursive, boolean shallow )
throws ScmException
{
+ throw new UnsupportedOperationException( "Should not get here" );
+ }
+
+ @Override
+ public ScmResult executeCommand( ScmProviderRepository repo, ScmFileSet fileSet,
+ CommandParameters parameters )
+ throws ScmException
+ {
+ ScmVersion version = parameters.getScmVersion( CommandParameter.SCM_VERSION, null );
+ boolean binary = parameters.getBoolean( CommandParameter.BINARY, false );
+
if ( fileSet.getBasedir().exists() )
{
try
@@ -69,6 +89,11 @@ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo,
cl.setWorkingDirectory( fileSet.getBasedir().getParentFile().getAbsolutePath() );
+ if ( binary )
+ {
+ cl.createArg().setValue( "-kb" );
+ }
+
if ( version != null && !StringUtils.isEmpty( version.getName() ) )
{
cl.createArg().setValue( "-r" );
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services