What I’m looking for is this:
Say I have a file “database.conf” that has some default values for a database connection (dbname, user, password, etc). Everyone needs this file with different settings (eg. password). However, the local changes to this file should not be commited to the repository ever. So the file should be kind of “checkout-only”. Is that possible?
My usual solution is to create a set of config files with different names, and put them under source control, together with a script to copy the suitable one to the actual location; the config file that is going to be used however remains unversioned.
For example, I could have a folder ‘config_files’, containing files ‘dev.config’, ‘production.config’, ‘qa.config’, etc.; my deployment scripts would take care of copying the correct script to the correct location (say, ‘App.config’).
You could even use hooks to automate this some more.