.idea and *.ipr/*.iws and source control

About a week ago, I got it sorted out that:

  • * .iml and *.ipr files were project wide and could go into source control
  • *.iws manages workspace settings specific to a user so shouldn't go into source control


Just downloaded Idea9 and I'm faced with the '.idea' directory.

From the documentation

Directory-Based Format project is defined by the .idea directory, located in the project root, and *.iml files. As in the standard format, *.iml files serve to describe modules. The project and workspace settings are stored in a number of XML files under the .idea directory. This allows to avoid merge conflicts when the project settings are stored in a version control system and modified by different team members. Each xml file is responsible for its own set of settings, that can be recognized by its name: compiler.xml, projectCodeStyle.xml, encodings.xml, vcs.xml etc. Thus, for example, adding a new run\debug configuration and changing encoding will affect different xml files.

That's all very well, but it doesn't really explain what should and shouldn't go into source code control.

Is there a one-to-one mapping of what was in the *.ipr, *.iws files with the new files?

Is './idea/workspace' the only one that shouldn't go in source control?

Any help would be appreciated.

2 comments
Comment actions Permalink

Hello Tracy,

The files that contain local settings are workspace.xml and tasks.xml. All
others should go into the version control.

About a week ago, I got it sorted out that:

  • * .iml and *.ipr files were project wide and could go into source

control * *.iws manages workspace settings specific to a user so
shouldn't go into source control

Just downloaded Idea9 and I'm faced with the '.idea' directory.

From the documentation

Directory-Based Format project is defined by the .idea directory,
located in the project root, and *.iml files. As in the standard
format, *.iml files serve to describe modules. The project and
workspace settings are stored in a number of XML files under the .idea
directory. This allows to avoid merge conflicts when the project
settings are stored in a version control system and modified by
different team members. Each xml file is responsible for its own set
of settings, that can be recognized by its name: compiler.xml,
projectCodeStyle.xml, encodings.xml, vcs.xml etc. Thus, for example,
adding a new run\debug configuration and changing encoding will affect
different xml files.

That's all very well, but it doesn't really explain what should and
shouldn't go into source code control.

Is there a one-to-one mapping of what was in the *.ipr, *.iws files
with the new files?

Is './idea/workspace' the only one that shouldn't go in source
control?

Any help would be appreciated.

---
Original message URL:
http://www.jetbrains.net/devnet/message/5252427#5252427

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Thanks for the prompt and clear reply.

It's a great help.

0

Please sign in to leave a comment.