Author: olamy Date: Thu Jan 20 22:28:27 2011 New Revision: 1061548 URL: http://svn.apache.org/viewvc?rev=1061548&view=rev Log: [SCM-596] Implements List command for mercurial provider
Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListCommand.java Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java?rev=1061548&r1=1061547&r2=1061548&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java Thu Jan 20 22:28:27 2011 @@ -26,6 +26,7 @@ import java.util.List; import org.apache.maven.scm.CommandParameters; import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.ScmVersion; import org.apache.maven.scm.command.add.AddScmResult; import org.apache.maven.scm.command.blame.BlameScmResult; import org.apache.maven.scm.command.branch.BranchScmResult; @@ -33,6 +34,7 @@ import org.apache.maven.scm.command.chan import org.apache.maven.scm.command.checkin.CheckInScmResult; import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.command.diff.DiffScmResult; +import org.apache.maven.scm.command.list.ListScmResult; import org.apache.maven.scm.command.remove.RemoveScmResult; import org.apache.maven.scm.command.status.StatusScmResult; import org.apache.maven.scm.command.tag.TagScmResult; @@ -46,11 +48,13 @@ import org.apache.maven.scm.provider.hg. import org.apache.maven.scm.provider.hg.command.checkin.HgCheckInCommand; import org.apache.maven.scm.provider.hg.command.checkout.HgCheckOutCommand; import org.apache.maven.scm.provider.hg.command.diff.HgDiffCommand; +import org.apache.maven.scm.provider.hg.command.inventory.HgListCommand; import org.apache.maven.scm.provider.hg.command.remove.HgRemoveCommand; import org.apache.maven.scm.provider.hg.command.status.HgStatusCommand; import org.apache.maven.scm.provider.hg.command.tag.HgTagCommand; import org.apache.maven.scm.provider.hg.command.update.HgUpdateCommand; import org.apache.maven.scm.provider.hg.repository.HgScmProviderRepository; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; import org.apache.maven.scm.repository.UnknownRepositoryStructure; @@ -311,4 +315,18 @@ public class HgScmProvider return (BranchScmResult) command.execute( repository, fileSet, parameters ); } + + /** + * @since 1.5 + * {@inheritDoc} + */ + @Override + protected ListScmResult list( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + HgListCommand hgListCommand = new HgListCommand(); + hgListCommand.setLogger( getLogger() ); + return (ListScmResult) hgListCommand.executeCommand( repository, fileSet, parameters ); + + } } Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListCommand.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListCommand.java?rev=1061548&r1=1061547&r2=1061548&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListCommand.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListCommand.java Thu Jan 20 22:28:27 2011 @@ -48,18 +48,14 @@ public class HgListCommand throws ScmException { - if ( fileSet.getFileList().size() != 0 ) - { - throw new ScmException( "This provider doesn't support listing subsets of a directory" ); - } // File workingDir = fileSet.getBasedir(); // build the command - String[] listCmd = new String[] { HgCommandConstants.STATUS_CMD, HgCommandConstants.ALL_OPTION }; + String[] listCmd = new String[] { HgCommandConstants.INVENTORY_CMD }; // keep the command about in string form for reporting - StringBuffer cmd = new StringBuffer(); + StringBuilder cmd = new StringBuilder(); for ( int i = 0; i < listCmd.length; i++ ) { String s = listCmd[i];