IDEs produce some config files per project/workspace
IntelliJ has it's .idea/
folder and it's .iml
files.
Eclipse has its .classpath
and .project
files.
Eclipse Maven integration used to need a m2e-lifecycle configuration in the pom.xml (not sure if this is still the case)
I've seen projects in the past,
- where Eclipse artifacts (.classpath, .project) have been stored in the SVN and it usually broke every developer's workspace.
- where even the m2e-lifecycle configuration was prohibited
- where the m2e-lifecycle configuration was allowed but not .classpath or .project
- where subsets of the
.idea/
folder is checked in because it contains the run-configurations - typically .gitignore files contain IDE specific files.
I tend to leave all IDE artifacts out of the sourcecode, including configuration, except the listing of IDE artifacts in the .gitignore.
But I wonder, what are good reasons for / against checking in
- IDE generated artifacts (like .classpath or *.iml)
- IDE specific configurations (i.e. in maven poms)
into the SCM?
Or is it a general No-Go?