Search code examples
gitversion-controllabview

How does version control with LabVIEW VIs work?


Does anybody have experience with version control and LabVIEW? Since LabVIEW VIs are not text-based, how does it work? I would like to use git but I have a few questions:

  • When committing changes, does git recognize the differences in the VI or does it replace the whole file with the new one? Does this result in a large expansion of the repository?

  • Is there a possibility to merge different versions of a VI?

  • Or is there a version control that works better for LabVIEW?


Solution

  • When committing changes, does git recognize the differences in the VI or does it replace the whole file with the new one? Does this result in a large expansion of the repository?

    VIs are binary files, and so git will save the updated version as a new object. This can cause a LabVIEW repository to grow faster than a pure text-based source base.

    Is there a possibility to merge different versions of a VI?

    Yes. There is a tool that installs with LabVIEW called LVMerge.exe which can do this.

    Or is there a version control that works better for LabView?

    I like and use git with LabVIEW. I also use these helpers: