浏览代码

Fix Config.fromText to not skip a last line with no newline

Change-Id: Id6da6ff19296410806282bb7419fd8455e8c5475
tags/v3.0.0.201305080800-m7
Dave Borowitz 11 年前
父节点
当前提交
51d0e1f26e

+ 9
- 0
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java 查看文件

@@ -556,6 +556,15 @@ public class ConfigTest {
assertEquals(result, config.toText());
}

@Test
public void testNoFinalNewline() throws ConfigInvalidException {
Config c = parse("[a]\n"
+ "x = 0\n"
+ "y = 1");
assertEquals("0", c.getString("a", null, "x"));
assertEquals("1", c.getString("a", null, "y"));
}

private static void assertReadLong(long exp) throws ConfigInvalidException {
assertReadLong(exp, String.valueOf(exp));
}

+ 4
- 1
org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java 查看文件

@@ -1002,8 +1002,11 @@ public class Config {
ConfigLine e = new ConfigLine();
for (;;) {
int input = in.read();
if (-1 == input)
if (-1 == input) {
if (e.section != null)
newEntries.add(e);
break;
}

final char c = (char) input;
if ('\n' == c) {

正在加载...
取消
保存