DiffSK/configobj — pull request #76 by erikb85 (2014-11-23 11:58:51+00:00)
Title: enable recursive/deep updates

This time a little less docs here and more in the source code. I want to enable people to load configs after another and still keep the values from their previous config if it isn't explicitely overwritten by the next update. Doing this people are able to store a default config somewhere on the system (or deliver it with their app) and allow users to create a user or app specific config which only contains the values they really care about. Now the behaviour of configobj is similar as to how many tools (e.g., bash) handle configuration.

As a nice side effect it should also be compatible to older versions. If you update an existing config with a complete set of new values the result should be the same with this code.

I'm a little unhappy with how I had to write the doctests, because the __repr__ of dict doesn't promise in which order the content is printed.

I'm also a little unhappy with lines 679-680. It's a little unelegant, but I don't know how to code that better.

I would appreciate adding more tests according to your feedback before you guys merge this. If I missed something this piece of code will likely break existing apps using configobj.