]> source.dussan.org Git - jgit.git/commitdiff
Interactive rebase: Fix order of commit messages on squash 02/24002/3
authorStefan Lay <stefan.lay@sap.com>
Thu, 27 Mar 2014 15:18:42 +0000 (16:18 +0100)
committerRobin Rosenberg <robin.rosenberg@dewire.com>
Thu, 27 Mar 2014 20:11:15 +0000 (16:11 -0400)
Bug: 431214
Change-Id: I295bfdc5751545b046d7fe7efc3f8b39ab4f5415
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
Signed-off-by: Robin Rosennberg <robin.rosenberg@dewire.com>
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java
org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java

index 40eb494045ffe57dd11999acb6c4a3ddc76a2521..c5829ec96fcd691c6ca96d814c5ee20bbe35169a 100644 (file)
@@ -2347,7 +2347,7 @@ public class RebaseCommandTest extends RepositoryTestCase {
                                                assertFalse(messageFixupFile.exists());
                                                assertTrue(messageSquashFile.exists());
                                                assertEquals(
-                                                               "# This is a combination of 2 commits.\n# This is the 2nd commit message:\nupdated file1 on master\nnew line\n# The first commit's message is:\nAdd file2\nnew line",
+                                                               "# This is a combination of 2 commits.\n# The first commit's message is:\nAdd file2\nnew line\n# This is the 2nd commit message:\nupdated file1 on master\nnew line",
                                                                commit);
 
                                                try {
@@ -2426,7 +2426,7 @@ public class RebaseCommandTest extends RepositoryTestCase {
                                                assertFalse(messageFixupFile.exists());
                                                assertTrue(messageSquashFile.exists());
                                                assertEquals(
-                                                               "# This is a combination of 3 commits.\n# This is the 3rd commit message:\nupdated file1 on master\nnew line\n# This is the 2nd commit message:\nAdd file2\nnew line\n# The first commit's message is:\nAdd file1\nnew line",
+                                                               "# This is a combination of 3 commits.\n# The first commit's message is:\nAdd file1\nnew line\n# This is the 2nd commit message:\nAdd file2\nnew line\n# This is the 3rd commit message:\nupdated file1 on master\nnew line",
                                                                commit);
 
                                                try {
@@ -2441,7 +2441,7 @@ public class RebaseCommandTest extends RepositoryTestCase {
                                                        fail(t.getMessage());
                                                }
 
-                                               return "# This is a combination of 3 commits.\n# This is the 3rd commit message:\nupdated file1 on master\nnew line\n# This is the 2nd commit message:\nAdd file2\nnew line\n# The first commit's message is:\nAdd file1\nnew line";
+                                               return "# This is a combination of 3 commits.\n# The first commit's message is:\nAdd file1\nnew line\n# This is the 2nd commit message:\nAdd file2\nnew line\n# This is the 3rd commit message:\nupdated file1 on master\nnew line";
                                        }
                                }).call();
 
@@ -2454,7 +2454,7 @@ public class RebaseCommandTest extends RepositoryTestCase {
                ObjectId head2Id = db.resolve(Constants.HEAD + "^1");
                RevCommit head1Commit = walk.parseCommit(head2Id);
                assertEquals(
-                               "updated file1 on master\nnew line\nAdd file2\nnew line\nAdd file1\nnew line",
+                               "Add file1\nnew line\nAdd file2\nnew line\nupdated file1 on master\nnew line",
                                head1Commit.getFullMessage());
        }
 
@@ -2508,7 +2508,7 @@ public class RebaseCommandTest extends RepositoryTestCase {
                                                assertFalse(messageFixupFile.exists());
                                                assertTrue(messageSquashFile.exists());
                                                assertEquals(
-                                                               "# This is a combination of 3 commits.\n# This is the 3rd commit message:\nupdated file1 on master\nnew line\n# The 2nd commit message will be skipped:\n# Add file2\n# new line\n# The first commit's message is:\nAdd file1\nnew line",
+                                                               "# This is a combination of 3 commits.\n# The first commit's message is:\nAdd file1\nnew line\n# The 2nd commit message will be skipped:\n# Add file2\n# new line\n# This is the 3rd commit message:\nupdated file1 on master\nnew line",
                                                                commit);
 
                                                try {
index 330902c843de13ed83cb912d32ec330acda02869..3b849174216f1320a193b591880dc05e42dc0080 100644 (file)
@@ -621,6 +621,9 @@ public class RebaseCommand extends GitCommand<RebaseResult> {
                sb.setLength(0);
                sb.append("# This is a combination of ").append(count)
                                .append(" commits.\n");
+               // Add the previous message without header (i.e first line)
+               sb.append(currSquashMessage.substring(currSquashMessage.indexOf("\n") + 1));
+               sb.append("\n");
                if (isSquash) {
                        sb.append("# This is the ").append(count).append(ordinal)
                                        .append(" commit message:\n");
@@ -631,9 +634,6 @@ public class RebaseCommand extends GitCommand<RebaseResult> {
                        sb.append(commitToPick.getFullMessage().replaceAll("([\n\r])",
                                        "$1# "));
                }
-               // Add the previous message without header (i.e first line)
-               sb.append("\n");
-               sb.append(currSquashMessage.substring(currSquashMessage.indexOf("\n") + 1));
                return sb.toString();
        }