Version Control of project file

We are several developers working on the same project and are using Subversion. Should the poject files .iml, .ipr, .iws be under version control? The reason I ask is that the .ipr file contains information about the location of the .jar files in the librarys and all the .jar files are stored localy. With the .jar stored localy you can develop without beeing connected to a server. If .ipr is under version control yuo can get a copy of your codevelopers file and his filestructure. What is the recomended set up of Subversion.

1 comment
Comment actions Permalink

The *.ipr and *.iml are meant to be stored in VCS.
*.iws contains local settings like position of toolwindows.

To solve the problem with local paths that are differ on each developer's machine IDEA offers the concept of "path variables" (see IDE settings).
Basically you set a path variable in your IDE that gives a certain local path a name (like "EXT_LIBS") and IDEA
only stores this name in the project file (rather than the local path).
When the project is opened on a machine where the path variable is still undefined IDEA asks for a value and each developer can point to his local copy.

IDEA also offers to store the project in ".idea" folder ("directory based format" with a specific file for each kind of setting) instead of *.ipr file.
That should make sharing of the project easier because it reduces the possibility for svn conflicts.
(Or so I am told, haven't tried that myself, sharing *.ipr works quite well for us. Also be sure to use 8.1.4 as some bugs with the directory based format have been fixed there.)


Please sign in to leave a comment.