Visual studio projects, as opposed to makefiles or other projects I know, have some quirks:
- The directory structure of the project has no real connection to actual directory structure - all directories are purely virtual - this makes it harder to re-add mass of files while keeping directory structure
- The project consists of rather complex XML, that file contains everything from files to compiler settings
Now whenever I merge branches, I have conflict on the project files, because everyone inadvertently changes them as they operate over the project. Often the changes happen in such ways that the merge tool does not even recognize conflict properly. In those cases, files end up missing in the project, outdated settings reappear and so on.
Our project is 2010 C++ solution consisting of five separate sub-projects.
Are there any strategies that would have low impact on the development process, but would alleviate problems caused by merging project files?
*.csproj merge=union
in your.gitattributes
?