Module Git - Easy integration of git for your development

We have a consultant working on a new Azure DevOps scheme for source control, build-and-deploy pipelines, etc and the proof of concept is about to become multi-user. It started using git via CLI on any particular dev gateway, but has now pivoted to using this module for ease of use.

As for where dev/test gateways run, I'm still waiting to hear more re: pulling images to run locally in Docker Desktop, or running them remotely on Azure. IMO it sounds simpler to just leave all development images running in Azure, the only downside being development cannot happen locally offline.

@John_S1 what other integration are you thinking with Azure DevOps? Tags and UDTs? That's our next frontier on this journey, since right now it's a painful mix of importing/exporting JSON, find/replace inside Designer or text editors with regex, and a colleague's occasional handiwork in Jupyter to script instantiation of complex tag hierarchies with many parameters.

Hello, Thanks for the reply. Yes, I'm facing some issues with the gateway configuration export. Also, when I tried Azure DevOps on the same, ssh is giving some errors, I'm trying to sort that out, and will try to keep you posted.


Have a good day.

Yes @msteele, I'm also working on a way to find the same structure, just checking the possibilities to save the data into the same folder using a scheduled event now, maybe afterward I will try to change the structure. As of now, I will be exporting the tags to the system and manually doing the activity, but will get change to store in the same folder per project location.

This is fantastic. Just integrated this into our Dev env without too much hassle. I appreciate the good work on this!

Looks awesome! Keen to test it out properly in some dev environments and see how it goes.

1 Like

@Adekunle_Bakare, an issue has been created here.

Could you complete it so that I can reproduce and correct the problem ?
I need information such as Ignition version, git module version, operating system....

@Adekunle_Bakare,
Could you open an other issue on GitHub, here ?

I'm dreaming of a nice git-enabled workflow for tracking UDT changes. That would be an amazing future enhancement to this module.

Does anyone have a better workflow for managing source control for UDTs than the basic import/export tools in Designer?

1 Like

Ignition doesn't yet have a diff-friendly storage format for tag configurations. Hints that it will come with v8.3.

2 Likes

The module already does Tags and UDTs. Give it a try.

3 Likes

@e.sagnelonge hmm, are deletions of files supported? I just deleted a test script library in the Designer ang used the Designer Git Commit, Push buttons, but it hasn't reflected in Git.

Also, I think I broke something...
I saved a script in the designer but i'm not getting the resources show up anymore. I'm a bit n00b to Git...

It all started when GitLab created the repository using 'main' as the default branch. The Git module created a 'master' branch, and I wanted to rename main to master. Instead I set the default branch to master and merged in the main branch (it had some basic things in it like readme) and then I deleted the main branch. Then git pushes from the Designer were no longer going into the repo :confused: And now, after trying to fix that, the modified resources aren't showing up..

Edit: I deleted the .git folder in the project dir and the modified files in the commit window have come back, but after committing and pushing, the changes don't show up in the repo.

Edit2: Turns out it just needed a bit of time. This morning the updates are showing up in online Git instantly. :man_shrugging:

Edit3: Nope, it broke again as per the screenshot above. The commit list is empty after saving a script library :frowning: I haven't been messing with anything but working in the designer this time. Not sure what's going on

1 Like

@nminchin,

Normally, this should work.
There are probably still some bugs or cases that haven't been dealt with yet.
I'll try to take time for a new version before the end of the year to fix any open issues.

1 Like

Rant warning: I am disappointed that Inductive has not implemented anything that would integrate with version control.

1 Like

I have had the same issues as @nminchin.
I used this module for a few weeks but had to stop using this because every time I either added a view (copy, paste) or deleted a view in a project with Git configured I would have this issue come up and the repo would stop being updated no matter what I tried.
The only way I got it to work again was to create a new repo and set up the GW config again - which defeated the purpose of a continuous change log :frowning:.

3 Likes

This is what I'm finding as well, I'll have to stop using it for now too :frowning:

1 Like

Seems like the following code in GitManager.java is causing files to erroneously not be added to the commit window.

if((update.endsWith("resource.json") && countOccurrences(updates, path) < 2)
        || update.endsWith("project.json")){
    if(!isUpdatedResource(projectName, update)){
        toAdd = false;
    }
}

Removing that code makes it to where all changes pop up reliably. I'm working on a fork of the repo for a specific use case with my company, but I can try to get out a formal PR for this at some point.

In addition, I'm working on a popup box for each pull to allow a user to decide whether to also import the tags, themes, and images that can be included in the repo. In our use case, we have a central server where the project resides. This project has to be deployed across up to 10+ different remote sites and when dealing with things like tags, it can be cumbersome to update each site's tag set as each site is exactly the same as another.

7 Likes

Sounds very useful!

Hello @e.sagnelonge !
I have configured my git module 1.0.2 over HTTPS (SSH not available due to IT Security configuration). Everything is going well according to popups after commit and after push. But in reality, nothing is pushed to my repo.
No errors neither in the logs.

My repo is on Azure DevOps, is this compatible with your git module ?

French:
Mon entreprise, Actemium, utilise Ignition sur plusieurs projets et on souhaiterait utiliser ce module sur nos projets déjà réalisés et nos futurs. Est-ce que du support sur ce module est possible dans le cadre d'un contrat avec Axone IO ?

Have a great day

Hello @Mathis_BONNEFOY,

I think I've already tried it with AzureDevOps. In any case, it should work.
I suggest you create an issue on the github, I'll do some tests to confirm it.

Yes, it's quite possible to consider support.
I've just notified our sales team and one of them will be in touch with you.

Hi,
When using git module with a locally configured remote on windows.
Commit is OK, but push says "Git User not configured"


When pushing from command-line :

git push --set-upstream test master
Enumerating objects: 25, done.
Counting objects: 100% (25/25), done.
Delta compression using up to 4 threads
Compressing objects: 100% (14/14), done.
Writing objects: 100% (14/14), 8.37 KiB | 100.00 KiB/s, done.
Total 14 (delta 7), reused 0 (delta 0), pack-reused 0
To C:/Users/a2i/Documents/testJFO
f70e910..8883e20 master -> master
error: could not lock config file .git/config: Permission denied
error: unable to write upstream branch configuration

The push is done, but do I have to change ~/.gitconfig to be able to use the push button in Designer ?