Version control systems are increasingly used to store not only software source code, but also XML content such as sources for software documentation, alongside the source code. One of the main reasons for doing this is to enable the documentation to follow the same development workflow as the source code, typically using source branching to document new features as they are developed. When merging these branches back together, most version control systems use a line-based merge tool by default. These are generally good for software source code and developers are used to the techniques needed to resolve conflicts. However, when it comes to XML content, line-based merge tools can easily leave your XML in an invalid state, either against the schema you use or even leaving it badly formed so that it can no longer be parsed as XML.
It is possible to use XML Merge as the underlying merge tool in your version control system for XML content. This will prevent incorrect merges that lead to invalid XML and will eliminate false changes such as changing the order of attributes. Conflicts are represented in an intuitive, easy to resolve format that will result in well-formed XML to commit back into the repository.
Learn more about GIT integration →