Module Git - Easy integration of git for your development

Hi everyone,

I am very pleased to be able to share our work with you today.
The purpose of the module is to make git integration with our Ignition projects accessible and easy.
We want to make it a community and open source project.

You will find the github repository here.
We will regularly publish signed versions with documentation.
You can find the documentation and download links here.

Demo here !

We really hope that this can help you in your work.
We are listening to your needs and look forward to your feedback !

Of course, it is very likely that there are still some small bugs, so please let us know !

49 Likes

Good job @e.sagnelonge. Thank you :wink:

Good job! :+1:

Free and opens source? I'll be giving this a test run tomorrow, demo looks great!

2 Likes

Looks great!

Looks great - nice job.

nice job.

@e.sagnelonge thanks for sharing this! I'm eager to road test it. We've been dreaming about git integration within Designer. IA should pay up on that :beers:ware license and make git integration a default part of the designer.

5 Likes

I have not downloaded it to play around with this yet but does it handle merge conflicts or is that still in the roadmap?

If you are working on a single branch, conflicts are naturally handled by Ignition.
When a conflict occurs, following a save, Ignition opens a popup asking you to choose between the gateway's version and yours.
Once the choice is validated, the commit popup will open.
So there are never any conflicts. :slight_smile:

For branches's merges conflicts, it will be necessary to think about other solutions.

Oh, I see now that you have branch management still listed in the roadmap. This is a great start though honestly. Will definitely be using this in the near future!

2 Likes

Very cool stuff, been hoping for something similar for a long time!

Quick question: how does this handle multiple commit authors in the case of having a shared gateway that multiple users are working on? It appears that the git setup on the gateway assigns it to a specific git user, is it possible to have the commit process attempt the user the designer username to change the author metadata? Or is it just suggested that each different author would have a separate version of the gateway on their local machine?

EDIT: I just started testing and I see there is a way to associate ignition users with git users! I believe this accomplishes what I was looking for!

EDIT2: Okay nevermind. I was able to link my Ignition user to my git user, but when pushing my commits from the designer the author shows up as the hostname of the server the gateway is running on:

image
image

Am I missing something or is this not quite supported yet?

3 Likes

Oh, I didn't see that !
It seems to work in the Activity tab (Gitlab) but not in the Commits tab.
I need to do some research to understand what is used as a reference for the commit.


Thanks for the reply Enzo!

From my knowledge of git, I would think you may want to explicitly set the author of each commit.

You're definitely more familiar with the eclipse Git library than I am, but I found some relevant documentation that may solve this:
CommitCommand (JGit - Core 2.0.0.201206130900-r API) (eclipse.org)

setAuthor
public CommitCommand setAuthor(PersonIdent author)
Sets the author for this commit. If no author is explicitly specified because this method is never called or called with null value then the author will be set to the committer.
Parameters:
author - the author used for the commit
Returns:
this

Git git = new Git(myRepo);
git.commit().setMessage("Fix393").setAuthor(developerIdent).call();
2 Likes

@dsmith1,

I just created the feature.
You can see it here.

It will be added to the module in the next release.

1 Like

Release 1.0.1 :

  • Commissioning configuration file,
  • Setup Commit Author
  • Docker compose

You can now deploy your Ignition projects from git through Docker in less than 5 minutes ! :eyes:

10 Likes

Release 1.0.2 :

  • Fix Export Tag Beautifier.
  • Fix "Field [F GitReposUsersRecord.UserName] must be NOT NULL".
  • New git.config parameter to set the default branch name during git init.
  • Fix Commit Popup :
    • Open only one popup at a time,
    • Fix SelectAllHeader state.

Small release to fix blocking bugs.

6 Likes

Hello @e.sagnelonge , Is it possible to integrate the same with Azure devops.

2 Likes

Any idea on this guys? anybody, has anyone tried this concept.

Hello @John_S1,

Are you talking about integrating the project into an Azure Devops git repo or deploying a docker image via pipelines ?
The goal would be that the module can be integrated everywhere, including obviously in Azure devops.
I don't have time to test this week.

Do you enconter any problems with the module ?