Author: olamy
Date: Fri Apr 20 21:11:59 2012
New Revision: 1328506
URL: http://svn.apache.org/viewvc?rev=1328506&view=rev
Log:
[SCM-658] HgChangeLogCommand doesn't implement method
executeChangeLogCommand(). (patch 3)
Submitted Vladimir Kralik.
Modified:
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.java
Modified:
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.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/changelog/HgChangeLogCommand.java?rev=1328506&r1=1328505&r2=1328506&view=diff
==============================================================================
---
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.java
(original)
+++
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.java
Fri Apr 20 21:11:59 2012
@@ -28,6 +28,7 @@ import org.apache.maven.scm.ScmBranch;
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.Command;
import org.apache.maven.scm.command.changelog.AbstractChangeLogCommand;
import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
@@ -72,4 +73,36 @@ public class HgChangeLogCommand
ChangeLogSet changeLogSet = new ChangeLogSet( logEntries, startDate,
endDate );
return new ChangeLogScmResult( changeLogSet, result );
}
+
+ @Override
+ protected ChangeLogScmResult executeChangeLogCommand(
+ ScmProviderRepository repository, ScmFileSet fileSet,
+ ScmVersion startVersion, ScmVersion endVersion, String datePattern)
+ throws ScmException {
+ StringBuilder revisionInterval = new StringBuilder();
+ if (startVersion != null)
revisionInterval.append(startVersion.getName());
+ revisionInterval.append(":");
+ if (endVersion != null) revisionInterval.append(endVersion.getName());
+
+ String[] cmd = new String[] { HgCommandConstants.LOG_CMD,
+ HgCommandConstants.VERBOSE_OPTION,
+ HgCommandConstants.NO_MERGES_OPTION,
+ HgCommandConstants.REVISION_OPTION,
+ revisionInterval.toString()
+ };
+ HgChangeLogConsumer consumer = new HgChangeLogConsumer( getLogger(),
datePattern );
+ ScmResult result = HgUtils.execute( consumer, getLogger(),
fileSet.getBasedir(), cmd );
+
+ List<ChangeSet> logEntries = consumer.getModifications();
+ Date startDate = null;
+ Date endDate = null;
+ if (!logEntries.isEmpty()) {
+ startDate = logEntries.get(0).getDate();
+ endDate = logEntries.get(logEntries.size() - 1).getDate();
+ }
+ ChangeLogSet changeLogSet = new ChangeLogSet( logEntries, startDate,
endDate );
+ changeLogSet.setStartVersion(startVersion);
+ changeLogSet.setEndVersion(endVersion);
+ return new ChangeLogScmResult( changeLogSet, result );
+ }
}