05-02-2020 06:31 AM
With virtual folders, you could move the files around anywhere in the project, and only the project and/or library files would change. In NXG, moving a files (and, [insert your favorite deity/deities here] forbid, a folder) would result in physical changes to the disk, which would have to be reconciled in your versioning software. Talk about churn...
Or, maybe since I am a newcomer to NXG, I haven't found out how to do virtual folders yet?
05-03-2020 09:58 PM
In my understanding, folder structure and project structure must be synchronized.
For example when you add a VI which is placed in other folder to your project, the VI is copied to your project folder.
I thought It was helpful but once I considered Version Control, would be troublesome...
I also couldn't find a virtual folder feature in NXG. To be honest when I created class, it was really inconvenience.
05-04-2020 06:35 AM - edited 05-04-2020 06:36 AM
Interesting thing I just read. (NXG) VIs are now xml documents; you may want to make your versioning software treat them as binary files, so it doesn't try to outsmart itself and do some kind of fancy text merge that corrupts the VI. (The document recommends turning off auto-merge, but that seems a bit heavy-handed to me.)
05-04-2020 07:22 AM
@billko wrote:
Or, maybe since I am a newcomer to NXG, I haven't found out how to do virtual folders yet?
Nope. Virtual Folders were explicitly rejected in NXG. I'm with you, that is a HORRIBLE decision. But it does avoid the cross-linking issue.
05-04-2020 07:43 AM
@billko wrote:
Interesting thing I just read. (NXG) VIs are now xml documents; you may want to make your versioning software treat them as binary files, so it doesn't try to outsmart itself and do some kind of fancy text merge that corrupts the VI. (The document recommends turning off auto-merge, but that seems a bit heavy-handed to me.)
Yeah, this is one of those things that didn't quite pan out the way NI wanted. They specifically went with XML to help with SCC. But there were many things with a graphical language that didn't quite work in a text-based file when it comes to merging. Quoting somebody from NI R&D (not on the NXG team, but has good knowledge of the decisions made) from a private board (I don't think I'm breaking any NDAs here):
"But it turns out that a nested, cyclic graph with lots of metadata references across graphs is nearly impossible to merge in a linear text format, even for fairly simple edits...Purely textual merging was a goal of the original design. LV NXG R&D has spent a lot of research time trying to make it work. So far, it is not really seeming feasible."
There are plans to create a merge tool for NXG.
So my speculation: Do not be surprised if NXG eventually goes to a binary file format like LabVIEW 20xx. We will be dependent on a diff/merge tool regardless and NI can make a format that would load a lot faster than parsing an XML file.
05-07-2020 03:52 AM - edited 05-07-2020 03:59 AM
Taylor's response a bit down in this post explains the design decisions about virtual folders and mentions SCC.
(edit: billko, I just saw that you started by replying to that post, but anyway I think that post and comments is good to read for anyone else seeing this thread)