Inspired by this question:
http://stackoverflow.com/questions/19355/how-to-manage-configuration-settings-for-each-developer
How can I manage application configuration settings that are must be set for each developer without checking them into source control on the Java platform?
For example, this is the kind of thing we are doing now:
Datasource configuration is stored in a Spring configuration xml file.
Currently, each developer edits the file and tries his best not to commit that file into source control. Several of us have patches (diff files) that are applied to the code before performing testing against our local database and remove the patch before checking code in. Other developers edit and revert the configuration files by hand.
Sadly, patches get out of date. People sometimes forget to revert their local configuration before commit.
My question, however, is not limited to database connection settings. I would like to find a solution where each developer can override application configuration settings without having to alter source controlled files.
If we must change the way in which we are storing configuration settings, then I think we should do it (perhaps JNDI?, external configuration files in a well known path?, I don't know)
What would you do/have you done?