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 <basini...@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:strub...@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 micha...@apache.org.