Author: olamy
Date: Fri Apr 20 21:11:40 2012
New Revision: 1328505

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

Modified:
    
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommandConstants.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogConsumer.java

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommandConstants.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/HgCommandConstants.java?rev=1328505&r1=1328504&r2=1328505&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommandConstants.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommandConstants.java
 Fri Apr 20 21:11:40 2012
@@ -135,8 +135,12 @@ public final class HgCommandConstants
     public static final String MESSAGE_OPTION = "--message";
 
     public static final String REVISION_OPTION = "-r";
+    
+    public static final String DATE_OPTION = "--date";
 
     public static final String VERBOSE_OPTION = "--verbose";
+    
+    public static final String NO_MERGES_OPTION = "--no-merges";
 
     public static final String VERSION = "version";
 

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=1328505&r1=1328504&r2=1328505&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:40 2012
@@ -19,7 +19,7 @@ package org.apache.maven.scm.provider.hg
  * under the License.
  */
 
-import java.util.ArrayList;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 
@@ -51,27 +51,25 @@ public class HgChangeLogCommand
                                                           ScmBranch branch, 
String datePattern )
         throws ScmException
     {
-        String[] cmd = new String[] { HgCommandConstants.LOG_CMD, 
HgCommandConstants.VERBOSE_OPTION };
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        StringBuilder dateInterval = new StringBuilder();
+        // TRICK: Mercurial 1.9.3 don't accept 1970-01-01
+        dateInterval.append(dateFormat.format(
+                startDate == null ? new Date( 1000L*60*60*24) : startDate)); 
// From 2. Jan 1970
+        dateInterval.append(" to ");
+        dateInterval.append(dateFormat.format(endDate == null ? new Date() : 
endDate)); // Upto now
+        
+        String[] cmd = new String[] { HgCommandConstants.LOG_CMD,
+                HgCommandConstants.VERBOSE_OPTION,
+                HgCommandConstants.NO_MERGES_OPTION,
+                HgCommandConstants.DATE_OPTION,
+                dateInterval.toString()
+                };
         HgChangeLogConsumer consumer = new HgChangeLogConsumer( getLogger(), 
datePattern );
         ScmResult result = HgUtils.execute( consumer, getLogger(), 
fileSet.getBasedir(), cmd );
 
         List<ChangeSet> logEntries = consumer.getModifications();
-        List<ChangeSet> inRangeAndValid = new ArrayList<ChangeSet>();
-        startDate = startDate == null ? new Date( 0 ) : startDate; // From 1. 
Jan 1970
-        endDate = endDate == null ? new Date() : endDate; // Upto now
-
-        for ( ChangeSet change : logEntries )
-        {
-            if ( change.getFiles().size() > 0 )
-            {
-                if ( !change.getDate().before( startDate ) && 
!change.getDate().after( endDate ) )
-                {
-                    inRangeAndValid.add( change );
-                }
-            }
-        }
-
-        ChangeLogSet changeLogSet = new ChangeLogSet( inRangeAndValid, 
startDate, endDate );
+        ChangeLogSet changeLogSet = new ChangeLogSet( logEntries, startDate, 
endDate );
         return new ChangeLogScmResult( changeLogSet, result );
     }
 }

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogConsumer.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/HgChangeLogConsumer.java?rev=1328505&r1=1328504&r2=1328505&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogConsumer.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogConsumer.java
 Fri Apr 20 21:11:40 2012
@@ -19,17 +19,17 @@ package org.apache.maven.scm.provider.hg
  * under the License.
  */
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+
 import org.apache.maven.scm.ChangeFile;
 import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-
 /**
  * @author <a href="mailto:[email protected]";>thurner rupert</a>
  * @version $Id$
@@ -50,8 +50,6 @@ public class HgChangeLogConsumer
 
     private static final String MESSAGE_TOKEN = "description:";
 
-    private static final String MERGED_TOKEN = "merged: ";
-
     private static final String FILES_TOKEN = "files: ";
 
     private String prevLine = "";
@@ -62,10 +60,6 @@ public class HgChangeLogConsumer
 
     private ChangeSet currentChange;
 
-    private ChangeSet lastChange;
-
-    private boolean isMergeEntry;
-
     private String currentRevision;
 
     @SuppressWarnings( "unused" )
@@ -123,16 +117,6 @@ public class HgChangeLogConsumer
 
             spoolingComments = false;
 
-            //If last entry was part a merged entry
-            if ( isMergeEntry && lastChange != null )
-            {
-                String comment = lastChange.getComment();
-                comment += "\n[MAVEN]: Merged from " + 
currentChange.getAuthor();
-                comment += "\n[MAVEN]:    " + currentChange.getDateFormatted();
-                comment += "\n[MAVEN]:    " + currentChange.getComment();
-                lastChange.setComment( comment );
-            }
-
             //Init a new changeset
             currentChange = new ChangeSet();
             currentChange.setFiles( new ArrayList<ChangeFile>( 0 ) );
@@ -141,7 +125,6 @@ public class HgChangeLogConsumer
             //Reset memeber vars
             currentComment = new ArrayList<String>();
             currentRevision = "";
-            isMergeEntry = false;
         }
 
         if ( spoolingComments )
@@ -152,24 +135,6 @@ public class HgChangeLogConsumer
         {
             spoolingComments = true;
         }
-        else if ( line.startsWith( MERGED_TOKEN ) )
-        {
-            //This is part of lastChange and is not a separate log entry
-            isMergeEntry = true;
-            logEntries.remove( currentChange );
-            if ( logEntries.size() > 0 )
-            {
-                lastChange = (ChangeSet) logEntries.get( logEntries.size() - 1 
);
-            }
-            else
-            {
-                if ( getLogger().isWarnEnabled() )
-                {
-                    getLogger().warn( "First entry was unexpectedly a merged 
entry" );
-                }
-                lastChange = null;
-            }
-        }
         else if ( line.startsWith( REVNO_TAG ) )
         {
             tmpLine = line.substring( REVNO_TAG.length() );


Reply via email to