This idea is in relation to the way most (all?) distros handle the updates of config files that are included in packages. (Mainly I'm thinking of files under /etc).
I'm referring to the way they leave you with an extra config file for you to hunt up and examine to manually merge in syntax changes, by leaving you effectively with a crude versioning system represented by multiple files. RH has its .rpmsave and .rpmnew things, gentoo has ..thing_blah_<number>. What all the distributions should probably be doing instead is using a real versioning system to hold the multiple versions. This way when you install the package it could install the real updated config file and check for merge conflicts and warn you if there were any. That way you could easily roll back; and if something did break, you could easily check what differences had been recently introduced. E.g. cd /etc; cvs diff -D"2 days ago" . As things stand, all the distros are effectively saying that you do source file config management by storing multiple separate versions of each file and manually diff, merge, and copy files to make changes. Imagine if we were still trying to do that for program source code! Heh. luke PS: Note to self: I must dust-off and set up my cvs-etc script under gentoo. Then I can try out my own suggestion with a short wrapper shell script, and see how it works out in practice. (The only problem I found in keeping /etc under cvs was after doing a system upgrade by installing the new distro version into a spare partition: in that case, if I wanted to preserve the repository and history of changes across upgrades, I had to transfer the repository and history manually. Tedious.) To be perfectly honest: I had interesting discussions on the cvs developers mailing list about this - about using cvs on /etc config files. Several developers were dead against it, but their objections seemed odd to me, almost "religious", rather than logical: dire warnings of unnamed disasters. In practice, it works well.) In the unlikely event anyone's interested, the cvs-etc scripts and man page (cvs-etc cvs-etc.1 cvsadddir printf quote) can be found chucked into this directory: http://members.optushome.com.au/lukekendall/script/ luke -- SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/ Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html
