Hatred of the Gnome registry

The way Gnome stores it’s settings is an abomination, they seemed to have taken the worst idea Microsoft ever had (and that’s saying a lot), the registry, combined it with xml and stored the data in hundreds of little files to make the most horrid storage system I’ve ever seen. So what, you might be thinking, you never have to touch or even see the files themselves. 99% of users will never want to change any setting that isn’t exposed through the nice Preferences applets, and for those advanced users who do there is even a simple configuration editor as part of Gnome.

Recently however I have started storing my home dir in a subversion repo, it makes maintaining my settings across multiple machines much easier and adds another level of safety for me to fiddle with settings :-) . When Gnome starts up though, it modifies tens of files in this stupid registry system for absolutely no reason. Meaning that I either have to keep committing new versions of the files over and over that don’t actually have any real changes in them, or I clutter up my screen with lots of modified files whenever I do a check to see what changes I’ve done. Worse than that, if I do make real changes to the Gnome setup they get lost in the deluge of spurious stuff.

Whatever possessed the Gnome devs to choose this awful method for storing the settings? And why do so many Gnome components think it’s a great idea to store a timestamp every bloody time they startup. To make matters worse, half these programs have their own config settings in a normal ~/.programname file. Why the hell do they use the registry then?

I did come across one thing recently that has made the situation marginally more tolerable. That is a program called gconf-merge-tree, which seems to take a bunch of the little files and merge them into one big one. I say seems to because there is no documentation on the program that I can find, so I’m running it blind. This does at least reduce the screen clutter somewhat as only one file is constantly reported as modified, but the prospect of losing changes is still there.