Merge VPP from different Git branches


We are using Git as our SCM tool with the standard Git Flow (master, development, feature and bug branches). Since the VPP files are essentially binary file, how do you propose that we merge the VPP files from different branches. Is there a tool that can compare and merge VPP files?


A very good and interesting question!

By default Visual Paradigm primarily relies on their own version control systems: VPository which is a cloud based environment, and Teamwork server which can provide a team-based VCS in a local environment. This might be better usable when you have to cope with separate branches and trees.

My suggestion though would be to separate your projects (modeling and development), and to incorporate the entire development environment into one single VP project. By default VP provides support for different models and therefor can easily separate between the different aspects (or stages (production, development, bug fix)) of your development project.

Of course this doesn’t solve your current issue but I still wanted to mention this because I think this could make things easier on you, maybe something to consider?

Visual Paradigm Standard edition and up provides the Visual Diff. option, to be found on the Modeling toolbar. This allows you to compare two projects to see all the differences between them:

You can use the project you’re currently working on (“Working project”) but it’s also perfectly possible to compare two totally unrelated projects with each other. Although this doesn’t provide ways to merge the projects it can still help you to spot the differences and work around them.

But as to merging… An option which is also available in the Standard edition (and up) is to reference another project. This allows you to access another project from within your main project; then you can easily refer to the other project(s) contents, but you could also use this to import (copy) existing diagrams over into the main project (copy / paste actions).

Maybe this is also something to consider? It heavily depends on your environment, but I could imagine how you would manage one main project which in its turn references the other branches.

Here is an example of what I mean with referencing:

As you can see the project browser allows me to switch between projects, which also means that I can easily open diagrams from both in order to compare them or optionally to copy model elements from one diagram onto another.

I hope this gave you some ideas to solve your current issue but if not please say so!

1 Like