09-10-2019 06:13 AM
Yes, I admit i have opened a few *.lvlps files outside of the LabVIEW IDE.
I think that the extension may be LabVIEW local project state.
What reallly gets written to this file? How does it effect my team members if it is placed under SCC? Can the non default LabVIEW ini option to separate source code from compiled object affect codevelopers if the lvlps file is not found?
What are current best practices?
09-10-2019 07:22 AM
In my Subversion Properties file for LabVIEW Repositories, I put *.lvlps, *.aliases, *.dll, *.exe, *.llb, and *\builds in the SVN Ignore section. The first two are excluded because LabVIEW usually (re-)generates them when you open a Project. The remaining are there because they typically are "generated binaries" which don't really "fit" the SVN Repository model, and mainly "take up space".
I've been using this set of Properties (saved in LabVIEW SVN Properties.svnprops) and apply it globally to each new LabVIEW Project that I commit to Subversion. I don't recall when I started using this, but the file on my PC here is dated May, 2011.
Bob Schor
09-10-2019 10:17 AM
As Bob_Shor mentioned, you can ignore these files as LabVIEW will automatically generate them. If you do check them into SCC, they will constantly churn as they will always be updated and different on every computer. In addition, I mark all of my code to separate the compiled from the source code. I have not had any problems doing this is ever since they implemented that feature.
09-10-2019 11:01 AM
As another data point, I use git but my ignore file has the same items that Bob lists. I don't know if it's "best practice" but if my builds include FPGA bitfiles I do try to keep those up to date. I think people generally say that you shouldn't keep anything in SCC if it can be built through other source in the repo but compiling can take a while so I prefer to keep it in there (before I commit I want to make sure my FPGA compiles so that generally keeps it up to date).
So far, I haven't run into any problems doing this.
09-10-2019 12:11 PM
OK,
So, I do configure my SCC (svn in this case with a Tortoise shell extension) to ignore and unversion the *.lvlps files Actually "*.lvlps *Untitled*.* *.aliases *Sandbox*.* *Junk*.* *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store [Tt]humbs.db" is the exact string
That seems like a "Best practice"
AND, I always use the Project Explorer to "Clean my builds" so, that tries to keep the App Builder Cache information up to date on my generated / regenerated local version of the lvlps file.
Let's assume I have a co-developer that actually "Committed" the lvlps file OR that I have a local cache of LabVIEW objects different than the lvlps file contents that is regenerated from a non-existing file......
How do I sync up my local object cache with the lvlps file that is auto-generated or "Stale" from another LabVIEW installation?
09-10-2019 12:21 PM
One more for ignoring the .lvlps files under scc.
09-10-2019 12:52 PM
I switched companies about a year ago. Went from svn to perforce... not enjoying perforce 😞
I also ignore the lvlps and aliases files.
To answer your question: "How do I sync up my local..."
Simply delete the lvlps file from svn. Then re-open the project. You will need to get your co-worker to update his local drive as well.
09-10-2019 01:09 PM
@Frozen wrote:
I switched companies about a year ago. Went from svn to perforce... not enjoying perforce 😞
I also ignore the lvlps and aliases files.
To answer your question: "How do I sync up my local..."
Simply delete the lvlps file from svn. Then re-open the project. You will need to get your co-worker to update his local drive as well.
That seems to repeatedly get me to a screen that asks if I want NIER to send some stuff to NI ;O