michael-o commented on code in PR #135:
URL: https://github.com/apache/maven-scm/pull/135#discussion_r877513964


##########
maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java:
##########
@@ -172,4 +173,72 @@ public void testConsumer2()
         assertTrue( cf.getRevision() != null && cf.getRevision().length() > 0 
);
     }
 
+    public void testGitLogConsumer3()
+            throws Exception
+    {
+        GitChangeLogConsumer consumer = new GitChangeLogConsumer( new 
DefaultLog(), null );
+
+        File f = getTestFile( 
"/src/test/resources/git/changelog/gitlog3.gitlog" );
+
+        ConsumerUtils.consumeFile( f, consumer );
+
+        List<ChangeSet> modifications = consumer.getModifications();
+
+        assertEquals( 10, modifications.size() );
+
+        SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss Z" );
+        sdf.setTimeZone( TimeZone.getTimeZone( "GMT" ) );

Review Comment:
   This is error-prone and will likely fail. Git, unfortunately, stores 
timestamp and offset. You never know in which offset the output will be because 
it depends on the author's/committer's system offset. Ideally, the pattern 
autorecognizes the offset.
   
   WDYT?



##########
maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java:
##########
@@ -172,4 +173,72 @@ public void testConsumer2()
         assertTrue( cf.getRevision() != null && cf.getRevision().length() > 0 
);
     }
 
+    public void testGitLogConsumer3()
+            throws Exception
+    {
+        GitChangeLogConsumer consumer = new GitChangeLogConsumer( new 
DefaultLog(), null );
+
+        File f = getTestFile( 
"/src/test/resources/git/changelog/gitlog3.gitlog" );
+
+        ConsumerUtils.consumeFile( f, consumer );
+
+        List<ChangeSet> modifications = consumer.getModifications();
+
+        assertEquals( 10, modifications.size() );
+
+        SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss Z" );
+        sdf.setTimeZone( TimeZone.getTimeZone( "GMT" ) );
+
+        ChangeSet first = modifications.get(0);
+        assertEquals( "Michael Osipov <micha...@apache.org>", 
first.getAuthor() );
+        assertEquals( "2022-01-08 20:02:12 +0000", sdf.format( first.getDate() 
) );
+        assertEquals( "[maven-release-plugin] prepare for next development 
iteration", first.getComment() );
+        assertEquals( "4fc34cfa14f2e72506187b03a492ce55ed459d4c", 
first.getRevision() );
+        assertEquals( Collections.emptyList(), first.getTags() );
+        assertNotNull( first.getFiles() );
+        assertFalse( first.getFiles().isEmpty() );
+
+        ChangeSet second = modifications.get(1);
+        assertEquals( "Michael Osipov <micha...@apache.org>", 
second.getAuthor() );
+        assertEquals( "2022-01-08 20:02:01 +0000", sdf.format( 
second.getDate() ) );
+        assertEquals( "[maven-release-plugin] prepare release 
maven-scm-2.0.0-M1", second.getComment() );
+        assertEquals( "3a6d9817fe809c43eca588d7c0f4428254eae17c", 
second.getRevision() );
+        assertEquals( Collections.singletonList("maven-scm-2.0.0-M1"), 
second.getTags() );
+        assertNotNull( second.getFiles() );
+        assertFalse( second.getFiles().isEmpty() );
+    }
+
+    public void testTagAndBranchConsumer() {
+        String[] lines = {
+            "commit a6d03ee7bcec7bfd6b0fc890a277f004a1c54077 (HEAD -> main, 
tag: TestTag, origin/main, origin/HEAD)",
+            "Author: Niels Basjes <ni...@basjes.nl>",
+            "Date:   2022-02-06 16:19:01 +0100",
+            "",
+            "    This",
+            "    is",
+            "    a",
+            "    multiline",
+            "    comment",
+            "",
+            ":100644 100644 2019174 808473f M\tdocumentation/pom.xml",
+            ""
+        };
+        GitChangeLogConsumer consumer = new GitChangeLogConsumer( new 
DefaultLog(), null );
+
+        for (String line : lines) {
+            consumer.consumeLine(line);

Review Comment:
   spaces missing



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to