Fix parsing Rebase todo lines when commit message is missing

Bug: 422253
Change-Id: I9739b16c91d2df31a481360a712d3479a4eeee2e
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
This commit is contained in:
Stefan Lay 2013-11-21 14:46:12 +01:00
parent 7dce16018e
commit 4feace2b9e
2 changed files with 15 additions and 0 deletions

View File

@ -1641,6 +1641,19 @@ public void testRebaseShouldBeAbleToHandleEmptyLinesInRebaseTodoFile()
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 {

View File

@ -197,6 +197,8 @@ private static RebaseTodoLine parseLine(byte[] buf, int tokenBegin,
}
tokenCount++;
}
if (tokenCount == 2)
return new RebaseTodoLine(action, commit, ""); //$NON-NLS-1$
return null;
}