I am working in a project where there are configuration files, one in number for each of the environments where the application would be deployed.
When a developer modifies one of these files, the developer should not be allowed to check-in the file individually, but check-in all the files together or at least the developer should be informed that this needs to be done.
How can we achieve it?
I would think you could write a pre-commit hook to do this – just have a list of files where if one is committed then they must all be committed.
You can write hooks in any language that you can write a command-line application in. The only gotcha is that they run in the context of the SVN server, and (at least traditionally, I don’t know if this is improved), they aren’t given much environment when they start – you can be caught out by a lack of ‘PATH’ for example.
Your repository will have example batchfile/shell-script hooks in the ‘hooks’ directory, but I’ve also written them in C# in the past.
This http://wordaligned.org/articles/a-subversion-pre-commit-hook looks like a good general introduction to pre-commit hooks.