You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2018/08/18 23:26:22 UTC

[maven-scm] 01/02: [SCM-745] Perforce blame result parsing too greedy

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-scm.git

commit fb4e948aff7f21e77fef669e0364ea4e9afb2f2d
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sun Aug 19 00:46:05 2018 +0200

    [SCM-745] Perforce blame result parsing too greedy
    
    Submitted by: Todd Currie
---
 .../scm/provider/perforce/command/blame/PerforceFilelogConsumer.java    | 2 +-
 .../provider/perforce/command/blame/PerforceFilelogConsumerTest.java    | 2 ++
 .../maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt | 2 ++
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java
index 3dc364f..c32b100 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java
@@ -37,7 +37,7 @@ public class PerforceFilelogConsumer
 {
     private static final String PERFORCE_TIMESTAMP_PATTERN = "yyyy/MM/dd";
 
-    private static final Pattern LINE_PATTERN = Pattern.compile( "#(\\d+).*on (.*) by (.*)@" );
+    private static final Pattern LINE_PATTERN = Pattern.compile( "#(\\d+).*?on (.*?) by (.*?)@" );
 
     private Map<String, Date> dates = new HashMap<String, Date>();
 
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java b/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java
index 46ea345..e9837ef 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java
@@ -42,8 +42,10 @@ public class PerforceFilelogConsumerTest
 
         ConsumerUtils.consumeFile( testFile, consumer );
 
+        Assert.assertEquals( "tom", consumer.getAuthor( "36" ) );
         Assert.assertEquals( "earl", consumer.getAuthor( "35" ) );
         Assert.assertEquals( "raj", consumer.getAuthor( "34" ) );
+        Assert.assertEquals( "dick", consumer.getAuthor( "32" ) );
     }
 
 }
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt b/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt
index d291fb0..90dc142 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt
@@ -1,4 +1,6 @@
 //depot/dev/main/jam/jam.c
+... #36 change 789 edit on 2001/12/13 by tom@tom-dev-yew (text) 'Handle @ symbols in description'
 ... #35 change 627 edit on 2001/11/13 by earl@earl-dev-yew (text) 'Handle platform variants better'
 ... #34 change 598 edit on 2001/10/24 by raj@raj-althea (text) 'Reverse previous attempt at fix'
 ... #33 change 581 edit on 2001/10/03 by gale@gale-jam-oak (text) 'Version strings & release notes'
+... #32 change 432 edit on 2001/09/03 by dick@dick-pine (text) 'Merge in change on 2001/08/27 by jim@nowhere.com'