You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2011/12/10 22:22:16 UTC

svn commit: r1212880 - in /maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src: main/java/org/apache/maven/scm/provider/bazaar/command/ main/java/org/apache/maven/scm/provider/bazaar/command/changelog/ test/java/org/apache/maven/scm/provi...

Author: olamy
Date: Sat Dec 10 21:22:16 2011
New Revision: 1212880

URL: http://svn.apache.org/viewvc?rev=1212880&view=rev
Log:
[SCM-649] Enhance SCM changelog model to hold more data about changes
patch regarding bazaar implementation.
Submitted by Petr Kozelka.

Modified:
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarConsumer.java
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumer.java
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumerTest.java
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/resources/bazaar/changeLogWithMerge.txt

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarConsumer.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarConsumer.java?rev=1212880&r1=1212879&r2=1212880&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarConsumer.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarConsumer.java Sat Dec 10 21:22:16 2011
@@ -71,7 +71,7 @@ public class BazaarConsumer
         IDENTIFIERS.put( "unknown", ScmFileStatus.UNKNOWN );
         IDENTIFIERS.put( "modified", ScmFileStatus.MODIFIED );
         IDENTIFIERS.put( "removed", ScmFileStatus.DELETED );
-        IDENTIFIERS.put( "renamed", ScmFileStatus.MODIFIED );
+        IDENTIFIERS.put( "renamed", ScmFileStatus.RENAMED );
         MESSAGES.put( "bzr: WARNING:", "WARNING" );
         MESSAGES.put( "bzr: ERROR:", "ERROR" );
         MESSAGES.put( "'bzr' ", "ERROR" ); // bzr isn't found in windows path

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumer.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumer.java?rev=1212880&r1=1212879&r2=1212880&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumer.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumer.java Sat Dec 10 21:22:16 2011
@@ -54,6 +54,8 @@ public class BazaarChangeLogConsumer
 
     private static final String MERGED_TOKEN = "merged: ";
 
+    private static final String RENAME_SEPARATOR = " => ";
+
     private List<ChangeSet> logEntries = new ArrayList<ChangeSet>();
 
     private ChangeSet currentChange;
@@ -168,7 +170,25 @@ public class BazaarChangeLogConsumer
         else if ( currentStatus != null )
         {
             tmpLine = tmpLine.trim();
-            ChangeFile changeFile = new ChangeFile( tmpLine, currentRevision );
+            final ChangeFile changeFile;
+            if ( currentStatus == ScmFileStatus.RENAMED )
+            {
+                final String[] parts = tmpLine.split( RENAME_SEPARATOR );
+                if ( parts.length != 2 )
+                {
+                    changeFile = new ChangeFile( tmpLine, currentRevision );
+                }
+                else
+                {
+                    changeFile = new ChangeFile( parts[1], currentRevision );
+                    changeFile.setOriginalName( parts[0] );
+                }
+            }
+            else
+            {
+                changeFile = new ChangeFile( tmpLine, currentRevision );
+            }
+            changeFile.setAction( currentStatus );
             currentChange.addFile( changeFile );
         }
         else if ( line.startsWith( BRANCH_NICK_TOKEN ) )

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumerTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumerTest.java?rev=1212880&r1=1212879&r2=1212880&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumerTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumerTest.java Sat Dec 10 21:22:16 2011
@@ -26,9 +26,12 @@ import java.io.IOException;
 import java.io.InputStreamReader;
 import java.util.List;
 
+import org.apache.maven.scm.ChangeFile;
 import org.apache.maven.scm.ChangeSet;
+import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.log.DefaultLog;
+import org.junit.Assert;
 
 public class BazaarChangeLogConsumerTest
     extends ScmTestCase
@@ -51,5 +54,20 @@ public class BazaarChangeLogConsumerTest
 
         List<ChangeSet> mods = consumer.getModifications();
         assertEquals( 4, mods.size() );
+
+        final ChangeSet ch2 = mods.get( 2 );
+        Assert.assertEquals( "Unexpected committer", "tsmoergrav@slb.com", ch2.getAuthor() );
+        Assert.assertEquals( "Unexpected comment", "Second", ch2.getComment() );
+        Assert.assertEquals( "File count", 2, ch2.getFiles().size() );
+
+        final ChangeFile ch2f1 = ch2.getFiles().get( 0 );
+        Assert.assertEquals( "Invalid action", ScmFileStatus.MODIFIED, ch2f1.getAction() );
+        Assert.assertEquals( "Invalid  file name", "changeLogWithMerge.txt", ch2f1.getName() );
+        Assert.assertNull( "Unexpected originalName", ch2f1.getOriginalName() );
+
+        final ChangeFile ch2f2 = ch2.getFiles().get( 1 );
+        Assert.assertEquals( "Invalid action", ScmFileStatus.RENAMED, ch2f2.getAction() );
+        Assert.assertEquals( "Invalid file name", "blablabla.txt", ch2f2.getName() );
+        Assert.assertEquals( "Invalid original name", "a", ch2f2.getOriginalName() );
     }
 }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/resources/bazaar/changeLogWithMerge.txt
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/resources/bazaar/changeLogWithMerge.txt?rev=1212880&r1=1212879&r2=1212880&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/resources/bazaar/changeLogWithMerge.txt (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/resources/bazaar/changeLogWithMerge.txt Sat Dec 10 21:22:16 2011
@@ -39,6 +39,8 @@ message:
   Second
 modified:
   changeLogWithMerge.txt
+renamed:
+  a => blablabla.txt
 ------------------------------------------------------------
 revno: 1
 committer: tsmoergrav@slb.com