Browse Source

Fix config value get to return last instead of 1st just like git

Before this fix, getting the value of 'key' below used to return
value1. This fix makes it so that value3 gets returned instead,
just like native git's get.

[section]
  key = value1
  key = value2
  key = value3

Change-Id: Iccb24de9b63c3ad8646c909494ca3f8c9ed6e29c
Signed-off-by: Marco Miller <marco.miller@ericsson.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-4.5
Marco Miller 9 years ago committed by Matthias Sohn
parent
commit
00db4ab06e
  1. 6
      org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java
  2. 9
      org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java

6
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java

@ -739,6 +739,12 @@ public class ConfigTest {
c.getStringList("a", null, "x")); c.getStringList("a", null, "x"));
} }
@Test
public void testReadMultipleValuesForName() throws ConfigInvalidException {
Config c = parse("[foo]\nbar=false\nbar=true\n");
assertTrue(c.getBoolean("foo", "bar", false));
}
private static void assertReadLong(long exp) throws ConfigInvalidException { private static void assertReadLong(long exp) throws ConfigInvalidException {
assertReadLong(exp, String.valueOf(exp)); assertReadLong(exp, String.valueOf(exp));
} }

9
org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java

@ -633,12 +633,13 @@ public class Config {
private String getRawString(final String section, final String subsection, private String getRawString(final String section, final String subsection,
final String name) { final String name) {
String[] lst = getRawStringList(section, subsection, name); String[] lst = getRawStringList(section, subsection, name);
if (lst != null) if (lst != null) {
return lst[0]; return lst[lst.length - 1];
else if (baseConfig != null) } else if (baseConfig != null) {
return baseConfig.getRawString(section, subsection, name); return baseConfig.getRawString(section, subsection, name);
else } else {
return null; return null;
}
} }
private String[] getRawStringList(String section, String subsection, private String[] getRawStringList(String section, String subsection,

Loading…
Cancel
Save