You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2018/05/04 20:43:19 UTC
[maven-scm] branch master updated: [SCM-869] gitexe list()
implemented incorrectly
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-scm.git
The following commit(s) were added to refs/heads/master by this push:
new 9be3bf0 [SCM-869] gitexe list() implemented incorrectly
9be3bf0 is described below
commit 9be3bf0d54f8fde5f2f6f668f5047c1174e7c9d7
Author: Ilya Basin <ba...@gmail.com>
AuthorDate: Thu Feb 22 10:10:20 2018 +0300
[SCM-869] gitexe list() implemented incorrectly
This closes #67
---
.../scm/provider/git/AbstractGitScmProvider.java | 18 ++------
.../maven/scm/provider/git/TestGitScmProvider.java | 5 ---
.../scm/provider/git/gitexe/GitExeScmProvider.java | 7 ---
.../git/gitexe/command/list/GitListCommand.java | 51 ++--------------------
4 files changed, 6 insertions(+), 75 deletions(-)
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
index 3609335..dbeadac 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
@@ -36,7 +36,6 @@ import org.apache.maven.scm.command.checkout.CheckOutScmResult;
import org.apache.maven.scm.command.diff.DiffScmResult;
import org.apache.maven.scm.command.export.ExportScmResult;
import org.apache.maven.scm.command.info.InfoScmResult;
-import org.apache.maven.scm.command.list.ListScmResult;
import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
import org.apache.maven.scm.command.remove.RemoveScmResult;
import org.apache.maven.scm.command.status.StatusScmResult;
@@ -91,12 +90,12 @@ public abstract class AbstractGitScmProvider
try
{
ScmUrlParserResult result = parseScmUrl( scmSpecificUrl, delimiter );
-
+
if ( result.messages.size() > 0 )
{
throw new ScmRepositoryException( "The scm url " + scmSpecificUrl + " is invalid.", result.messages );
}
-
+
return result.repository;
}
catch ( ScmException e )
@@ -291,17 +290,6 @@ public abstract class AbstractGitScmProvider
return command.execute( repository, fileSet, parameters );
}
- protected abstract GitCommand getListCommand();
-
- /** {@inheritDoc} */
- public ListScmResult list( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
- throws ScmException
- {
- GitCommand cmd = getListCommand();
-
- return (ListScmResult) executeCommand( cmd, repository, fileSet, parameters );
- }
-
protected abstract GitCommand getInfoCommand();
public InfoScmResult info( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
@@ -322,7 +310,7 @@ public abstract class AbstractGitScmProvider
}
protected abstract GitCommand getBlameCommand();
-
+
/** {@inheritDoc} */
public RemoteInfoScmResult remoteInfo( ScmProviderRepository repository, ScmFileSet fileSet,
CommandParameters parameters )
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/TestGitScmProvider.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/TestGitScmProvider.java
index 2f596b8..3f07e9a 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/TestGitScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/TestGitScmProvider.java
@@ -81,11 +81,6 @@ public class TestGitScmProvider
return null;
}
- protected GitCommand getListCommand()
- {
- return null;
- }
-
protected GitCommand getInfoCommand()
{
return null;
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java
index 2428377..596177a 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java
@@ -34,7 +34,6 @@ import org.apache.maven.scm.provider.git.gitexe.command.checkin.GitCheckInComman
import org.apache.maven.scm.provider.git.gitexe.command.checkout.GitCheckOutCommand;
import org.apache.maven.scm.provider.git.gitexe.command.diff.GitDiffCommand;
import org.apache.maven.scm.provider.git.gitexe.command.info.GitInfoCommand;
-import org.apache.maven.scm.provider.git.gitexe.command.list.GitListCommand;
import org.apache.maven.scm.provider.git.gitexe.command.remoteinfo.GitRemoteInfoCommand;
import org.apache.maven.scm.provider.git.gitexe.command.remove.GitRemoveCommand;
import org.apache.maven.scm.provider.git.gitexe.command.status.GitStatusCommand;
@@ -118,12 +117,6 @@ public class GitExeScmProvider
}
/** {@inheritDoc} */
- protected GitCommand getListCommand()
- {
- return new GitListCommand();
- }
-
- /** {@inheritDoc} */
public GitCommand getInfoCommand()
{
return new GitInfoCommand();
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java
index 27a90f8..ffe5733 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java
@@ -19,63 +19,18 @@ package org.apache.maven.scm.provider.git.gitexe.command.list;
* under the License.
*/
-import org.apache.maven.scm.ScmException;
-import org.apache.maven.scm.ScmFileSet;
-import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.ScmVersion;
-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.git.command.GitCommand;
-import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
+import java.io.File;
+
import org.apache.maven.scm.provider.git.gitexe.command.GitCommandLineUtils;
-import org.codehaus.plexus.util.cli.CommandLineUtils;
+import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
import org.codehaus.plexus.util.cli.Commandline;
-import java.io.File;
-
/**
* @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
*
*/
public class GitListCommand
- extends AbstractListCommand
- implements GitCommand
{
- /** {@inheritDoc} */
- protected ListScmResult executeListCommand( ScmProviderRepository repo, ScmFileSet fileSet, boolean recursive,
- ScmVersion scmVersion )
- throws ScmException
- {
- GitScmProviderRepository repository = (GitScmProviderRepository) repo;
-
- if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getFetchInfo().getProtocol() )
- && repository.getFetchInfo().getPath().indexOf( fileSet.getBasedir().getPath() ) >= 0 )
- {
- throw new ScmException( "remote repository must not be the working directory" );
- }
-
- int exitCode;
-
- CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
- GitListConsumer consumer = new GitListConsumer( getLogger(), fileSet.getBasedir().getParentFile(),
- ScmFileStatus.CHECKED_IN );
-
- Commandline cl = createCommandLine( repository, fileSet.getBasedir() );
-
- exitCode = GitCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
- if ( exitCode != 0 )
- {
- return new ListScmResult( cl.toString(), "The git-ls-files command failed.", stderr.getOutput(), false );
- }
-
- return new ListScmResult( cl.toString(), consumer.getListedFiles() );
- }
-
- // ----------------------------------------------------------------------
- //
- // ----------------------------------------------------------------------
-
public static Commandline createCommandLine( GitScmProviderRepository repository, File workingDirectory )
{
Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "ls-files" );
--
To stop receiving notification emails like this one, please contact
michaelo@apache.org.