04-09-2014, 01:18 PM
I'd love to see QM interfaced with git. I think I see a way to do it but there might be far more elegant solutions.
The new SQLite data file is easy to parse and contains text for individual macros and functions. If we used CsScript with something like libgit2 https://github.com/libgit2/libgit2sharp then we could commit individual macros and functions directly using the folder hierarchy in QM to create a 'file' hierarchy in git.
What I don't know yet - where information from flags/trigger/icon/&etc would go. There might be a simple way to add metadata to a file but I haven't looked at this yet.
Once this was done then we'd be able to use web tools to show differences in functions.
As a further enhancement we could put in triggers in git (perhaps integrated with something like CruiseControl.NET http://cruisecontrolnet.org/) so that we could use a continuous integration server for automated testing.
---
But there might be a more simple mechanism. Currently I'm using Vault (but I have used git as well) with hooks to a QM generated *.exe for creating XML versions of the QML files. This permits me to use the diff engine in the source control system on the XML - which is pretty close to what you see on the screen in the QM editor. But - it would be much nicer to be able to have this be more granular and view the code on the level of a function or macro.
Thanks!
The new SQLite data file is easy to parse and contains text for individual macros and functions. If we used CsScript with something like libgit2 https://github.com/libgit2/libgit2sharp then we could commit individual macros and functions directly using the folder hierarchy in QM to create a 'file' hierarchy in git.
What I don't know yet - where information from flags/trigger/icon/&etc would go. There might be a simple way to add metadata to a file but I haven't looked at this yet.
Once this was done then we'd be able to use web tools to show differences in functions.
As a further enhancement we could put in triggers in git (perhaps integrated with something like CruiseControl.NET http://cruisecontrolnet.org/) so that we could use a continuous integration server for automated testing.
---
But there might be a more simple mechanism. Currently I'm using Vault (but I have used git as well) with hooks to a QM generated *.exe for creating XML versions of the QML files. This permits me to use the diff engine in the source control system on the XML - which is pretty close to what you see on the screen in the QM editor. But - it would be much nicer to be able to have this be more granular and view the code on the level of a function or macro.
Thanks!