I’ve been working with https://docs.inductiveautomation.com/display/DOC80/Gateway+Command-line+Utility to automate some backups/restoration stuff.
I was wondering if there was something like that on a project level - a command to export windows A, B, C, named Query X, Y, Perspective View Z and script S. Then another command to import those to a project either on the same or different gateway.
My issue is that sometimes I will work weeks on a feature, touch a lot of stuff, and right now my methodology is having to write down everything I touched that is relevant, and then export it/import it manually. Ideally, I’d like to be able to write a batch script that reads my text file of all the things to export, and then does so automatically. I can’t tell you the number of times I forgot to export a named query by checking it off and then got a complaint within minutes because something wasn’t working.
Not pressing or I too important, just looking for ways to cut out my own human error/automate some items.
Perhaps I just really need to get comfortable with github and branches again.
I was just about to ask why git wasn’t an option.
I will say that git can’t handle merging branches if you are modifying files that are stored as binary.
Perspective views are all JSON, and scripts are all Python, so you’re good there, but things like reporting and named SQL queries aren’t. Git can’t merge them if they’ve been changed on both branches. The best it can do is let you pick which branch’s version becomes the new “merged” version, losing any changes on that item from the other branch.
The best workaround I’ve got is to pull the master version of the binary file onto my branch before merging (which loses my branch changes) and then re-implement my changes on my branch. This only works if I can remember exactly what it was I changed.
I’m not really selling git well here, am I?
It isn’t you, and it isn’t git. ):
I did a script comparing two exports of the same Project (unzipped); each item of the project has a resource.json file with a timestamp and the username of the last modification.
My script is returning the list of changes or new items between the two projects; with it I am reviewing my changes, and exporting only the items needed to production.
I am looking to automate the process even further by including exporting, unzipping, processing, merging and importing.