2004-02-21 · in Ideas · 154 words

What do I mean by this? Well, let's take rawdog as an example. The config file is designed to be easy for humans to edit, but there are also situations when it'd be useful for rawdog itself to be able to edit the file (when a feed URL is permanently redirected during an update, for instance).

It could just take the standard atomic-update approach on the config file, but that doesn't make it obvious to the user that something's happened; perhaps it should add a comment saying what it's changed, or drop a diff in the directory so that its changes can be precisely reverted, or use some sort of existing version control. There's also the problem of what happens if the user has the file open in an editor when the program wants to do an update; this would probably require editor cooperation to solve, perhaps by automatically invoking an xdiff-style merge system.