Fix RepositoryConfig.setStringList to not corrupt internal state
commit2de663a46c2665c2a06ae96d58bf9d97b6dd5b06
authorShawn O. Pearce <spearce@spearce.org>
Sun, 27 Jul 2008 02:07:58 +0000 (26 19:07 -0700)
committerShawn O. Pearce <spearce@spearce.org>
Sun, 27 Jul 2008 02:11:12 +0000 (26 19:11 -0700)
tree7fdeafd8eca22258fd51e2d1ef25ac88adc64216
parent60bc649d8a3d5e2de5493481cfb46476ab7f99af
Fix RepositoryConfig.setStringList to not corrupt internal state

Calling setStringList was incorrectly storing the String objects
directly in byName.  The byName table should have either an Entry or
a List<Entry> stored within its value position.  Storing the String
(or List<String>) directly confused our get code as it did not find
the object type it expected.  This caused the get code to fallback
to the base configuration (e.g. ~/.gitconfig) or just return null
(claiming the value was never set).

A test case for this appears in the next commit.

Noticed-by: Marek Zawirski <marek.zawirski@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
org.spearce.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java