CVS and Subversion both have a handy merge feature so that when you update a source file that you have modified, it merges in changes that others have made on the same file.
For Windows users, you can use TortoiseSVN (a Windows Explorer shell extension for Subversion) which comes with merge features that support what you are describing:
Ignore line endings excludes changes which are due solely to difference in line-end style.
Compare whitespaces includes all changes in indentation and inline whitespace as added/removed lines.
Ignore whitespace changes excludes changes which are due solely to a change in the amount or type of whitespace, eg. changing the indentation or changing tabs to spaces. Adding whitespace where there was none before, or removing a whitespace completely is still shown as a change.
Ignore all whitespaces excludes all whitespace-only changes.