Author: olamy
Date: Fri Apr 20 21:11:22 2012
New Revision: 1328504

URL: http://svn.apache.org/viewvc?rev=1328504&view=rev
Log:
[SCM-658] HgChangeLogCommand doesn't implement method executeChangeLogCommand().
Submitted Vladimir Kralik.

Modified:
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
    
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ChangeLogMojo.java

Modified: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java?rev=1328504&r1=1328503&r2=1328504&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
 Fri Apr 20 21:11:22 2012
@@ -72,7 +72,7 @@ public abstract class AbstractChangeLogC
 
         String datePattern = parameters.getString( 
CommandParameter.CHANGELOG_DATE_PATTERN, null );
 
-        if ( startVersion != null )
+        if ( startVersion != null || endVersion != null)
         {
             return executeChangeLogCommand( repository, fileSet, startVersion, 
endVersion, datePattern );
         }

Modified: 
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ChangeLogMojo.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ChangeLogMojo.java?rev=1328504&r1=1328503&r2=1328504&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ChangeLogMojo.java
 (original)
+++ 
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ChangeLogMojo.java
 Fri Apr 20 21:11:22 2012
@@ -28,10 +28,12 @@ import org.apache.maven.plugin.MojoExecu
 import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
 import org.apache.maven.scm.command.changelog.ChangeLogSet;
 import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.repository.ScmRepository;
+import org.codehaus.plexus.util.StringUtils;
 
 /**
  * Dump changelog contents to console. It is mainly used to test 
maven-scm-api's changelog command.
@@ -60,6 +62,34 @@ public class ChangeLogMojo
      * @parameter expression="${endDate}"
      */
     private String endDate;
+    
+    /**
+     * Start Scm Version.
+     *
+     * @parameter expression="${startScmVersion}"
+     */
+    private String startScmVersion;
+
+    /**
+     * End Scm Version.
+     *
+     * @parameter expression="${endScmVersion}"
+     */
+    private String endScmVersion;
+    
+    /**
+     * Start Scm Version Type.
+     *
+     * @parameter expression="${startScmVersionType}"
+     */
+    private String startScmVersionType;
+
+    /**
+     * End Scm Version Type.
+     *
+     * @parameter expression="${endScmVersionType}"
+     */
+    private String endScmVersionType;
 
     /**
      * Date Format in changelog output of scm tool.
@@ -102,12 +132,22 @@ public class ChangeLogMojo
             ScmRepository repository = getScmRepository();
 
             ScmProvider provider = getScmManager().getProviderByRepository( 
repository );
-
-            ChangeLogScmResult result = provider.changeLog( repository, 
getFileSet(),
+            
+            ScmVersion startRev = getScmVersion(
+                    StringUtils.isEmpty(startScmVersionType) ? "revision" : 
startScmVersionType , startScmVersion );
+            ScmVersion endRev = getScmVersion(
+                    StringUtils.isEmpty(endScmVersionType) ? "revision" : 
endScmVersionType , endScmVersion );
+
+            ChangeLogScmResult result;
+            if (startRev != null || endRev != null) {
+                result = provider.changeLog( repository, 
getFileSet(),startRev, endRev, dateFormat);
+            } else {
+                result = provider.changeLog( repository, getFileSet(),
                                                             this.parseDate( 
localFormat, this.startDate ),
                                                             this.parseDate( 
localFormat, this.endDate ), 0,
                                                             (ScmBranch) 
getScmVersion( scmVersionType, scmVersion ),
                                                             dateFormat );
+            }
             checkResult( result );
 
             ChangeLogSet changeLogSet = result.getChangeLog();


Reply via email to