FR : Projects : New enhancement request to have Git Logs as part of the flows when exported

Hi - My request is specifically when Projects are enabled.

  1. When projects are enabled , in addition to the current Export - can we look to add "Export committed flows" . This option will export the specific committed flow. If possible user picks the commit to export. This will allow users to distribute specific commits in other environments.

  2. When projects are enabled , have the git log is visible in front end in editor. Maybe in info tab a new section. Calling in Change Log or some such. This comes automatically from Git Log. (I am aware this is visible in Commit Log - but in view of #4 below maybe have it as properties of flow).

  3. When projects are enabled - and an export using option #1 above is done - Git log becomes a property of the flows, giving an option to choose - all - last x - none - since the chosen commit ID in #1.

  4. When user imports such flows - to an NR instance - which has projects disabled - the user can still see the imported Log in editor.

  5. When user imports such flows - to an instance - which has projects enabled - nothing happens (i am not fully sure on this one ...) since its anyways project is enabled - so this new import would anyways result in new version of the file - so user can type what he wants during commit.

Hi @SandeepA

One of the reasons we integrated with Git was so that the history could be managed outside of Node-RED. We didn't want to make Node-RED a full Git client as that is very far from the low-code purpose of the tool.

The History sidebar does give you the commit history and you can click on each one to see the commit message and changes. I'm not sure what else you're looking for when you ask for the git log to be visible.

Do you mean you want to be able to export the flows from a previous commit? Again, this is all doable outside of Node-RED if you are pushing the changes to a remote git repository such as GitHub or a locally hosted GitLab.

There is a long-standing feature request to be able to revert a project back to a previous commit - but that isn't what you mean here is it?

I'm not entirely clear what you mean. If you said 'export the last 5' - what would that actually do? Export the last 5 versions of the flows? Or would that be export the current version of the flows, but somehow include the last 5 commit messages?

No. If Projects are disabled there is no concept of history or version control.


Ultimately, this would represent a significant amount of development work. Given this is the first time anyone has asked for these types of features, it's unclear how wide the demand would be for them and I wouldn't personally choose to spend my time on things that don't have broad appeal.

Noted Nick.

Yes. This is wanted. If not any previous commits - at least the latest one. While i am aware it can be outside NR it does mean user needs to switch.

Yes. The entire discussion is related to logs being a property of flows.json - esp when being exported from 1 env to other.

Noted and agreed on the broad appeal.
Post sending my request i tinkered with some NR API methods. What i see is - I can do all of the above probably with something broader enhancement which can help others as well.

  1. Allow some global - info property in Flows.json .
    Today we have this only at Flow level. My ask is something which is more at global level - applicable to NR editor instance.
  2. And in NR editor its visible as a section in "information" right side bar.
  3. The user may update this new section with the information he wants.

This remains a property of flows.json and gets exported and imported like any other property.

The format etc. can be same as what you provide for nodes and flows - information tab.

Is this not already available when using Projects?