The .settings
directory contains – or at least should contain – vital information needed to successfully build your project inside Eclipse, such as the character encoding used for source code, Java compiler settings, and much more. If you don't commit that directory to the SCM, you will in most cases lose the ability to check out the project into a fresh workspace and immediately get it to compile. An especially sensitive aspect is the precise configuration of compiler errors/warnings. If a developer has these set up wrong, the consequences can range from frustrations by failed Eclipse builds to developers damaging code in an attempt to "fix" nonexistent errors/warnings.
Each plugin can contribute its own settings file to the directory, so feel free to pick out and ignore the irrelevant ones, retaining the important ones, like org.eclipse.jdt.core.prefs
.
You do have to be very careful not to mess with project-specific settings in a way that would break the build for others. Any personal preferences should be changed globally at the workspace level, so that this configuration doesn't propagate to teammates.
One may theoretically enforce a policy where everyone is required to import project-specific settings from another place and never commit them, but that route offers no advantages and is obviously inferior in the ease-of-use department.