It would be nice if VCS config artefacts were external to the .ipr

Our development team, distributed between several offices, uses a shared project file that is checked in with the code.  That project file is used by all team members.

Unfortunately IntelliJ IDEA keeps Subversion VCS config info in the .ipr rather than another artefact file and this has become a problem for us.

Let's say that the checked in .ipr has this

<component name="ProjectKey">
   <option name="state" value="svn://master/repo/projectx/trunk/IDE/allcode/allcode.ipr" />
</component>


A dev pulls this out via the mirror, opens this project in IDEA and does some work.

The .ipr now contains.

<component name="ProjectKey">
    <option name="state" value="svn://mirror/repo/projectx/trunk/IDE/allcode/allcode.ipr" />
</component>


The project file has been changed without developer intent.  This makes it all too easy to accidentally check the project file back in during a commit even though it should not have been changed.  This commit noise makes it difficult to see when real project changes have occurred.

This is different to the JIRA plugin we tried which nicely kept it's config in another file... We can just ignore that file so that it doesn't show up as committable content.

It would be great if IDEA did the same as that plugin and these kinds of artefacts were identified and moved outside the project/module files.

Do other people have this kind of problem?  I assume using IDEA with any DVCS would have similar problems if IDEA decides to cache VCS config for those in the .ipr as well - no two developers would likely have the same config then.

Please sign in to leave a comment.