08-14-2023 03:46 PM
What are the purpose of separating Source Code from Build while using SVN. What are the implication if it is not separated? Is it necessary to do it for every project?
08-14-2023 04:27 PM
Anytime a VI gets updated or recompiled the compilation output gets updated (hopefully a no-brainer). If that compiled code lives in the VI then that means the vi gets updated. Since that VI updated its caller needs to get recompiled. And so on. This means making a change to source code can show up as changes in source control in other files that aren't affected by the change. e.g. if you only change some logic on a block diagram and don't touch anything on the front panel / connector pane, why should a caller need to update?
Separate compiled code stops this as the compilation output gets put somewhere else and keeps compilation outputs out of source control. This also means smaller source files since they're not also getting the executable code packed in and is the default in any newer version of LabVIEW.
In text based languages you don't build DLLs and executables and commit them to the source code repo.
08-14-2023 04:54 PM
Short version:
Separate compiled code advantages: Files are smaller. Files changing due to changes in other files a lot less often (not never...), greatly reducing the amount of unhelpful commits to SCC you do.
Separate compiled code disadvantages: Files take longer to load the first time you load them on a PC that doesn't have the compiled code cached. Can't run VIs in TestStand without doing some extra stuff.
For most people, separating them is the way to go. Not everyone.