Browse Source

Fix parsing Rebase todo lines when commit message is missing

Bug: 422253
Change-Id: I9739b16c91d2df31a481360a712d3479a4eeee2e
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
stable-3.3
Stefan Lay 11 years ago
parent
commit
4feace2b9e
  1. 13
      org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java
  2. 2
      org.eclipse.jgit/src/org/eclipse/jgit/lib/RebaseTodoFile.java

13
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java

@ -1641,6 +1641,19 @@ public class RebaseCommandTest extends RepositoryTestCase {
assertEquals("2222222", steps.get(1).getCommit().name());
}
@Test
public void testRebaseShouldBeAbleToHandleLinesWithoutCommitMessageInRebaseTodoFile()
throws IOException {
String todo = "pick 1111111 \n" + "pick 2222222 Commit 2\n"
+ "# Comment line at end\n";
write(getTodoFile(), todo);
List<RebaseTodoLine> steps = db.readRebaseTodo(GIT_REBASE_TODO, false);
assertEquals(2, steps.size());
assertEquals("1111111", steps.get(0).getCommit().name());
assertEquals("2222222", steps.get(1).getCommit().name());
}
@Test
public void testRebaseShouldNotFailIfUserAddCommentLinesInPrepareSteps()
throws Exception {

2
org.eclipse.jgit/src/org/eclipse/jgit/lib/RebaseTodoFile.java

@ -197,6 +197,8 @@ public class RebaseTodoFile {
}
tokenCount++;
}
if (tokenCount == 2)
return new RebaseTodoLine(action, commit, ""); //$NON-NLS-1$
return null;
}

Loading…
Cancel
Save