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() );