Search code examples
eclipsemercurialprojecteclipse-cdt

Eclipse project files in Mercurial


I need to work togehter with multiple assistant developers on an Eclipse CDT project which is versioned with Mercurial. The Eclipse project settings such as build setting are defined in the .cproject file.

When this file is tracked by Mercurial, developers need to constantly watch out when committing not to overwrite each others settings.

Of course this could be avoided by not adding the .cproject file in the first place, but this is inconvenient, too:

  1. I want to track changes to the project file so I can go back to previous versions in case it breaks.
  2. I want to share my project file with new developers so they can see my settings, make the necessary modifications

Is there a convenient way to track and at the same time have user-specific versions of project files?


Solution

  • The standard approach is: Don't version .cproject and friends. Add a folder templates and put a sample copy of .cproject there. New project members make a copy and customize to taste. This also allows you, as the author of the template, to have your own customizations that you don't share with everyone.

    The limitation is that as you periodically change the default profile, changes don't get automatically propagated to everyone: You have to tell the other project members to apply them. But automatic propagation doesn't sound like a good idea in this case anyway.