Good evening, everyone! It’s been a while since I last posted here... But I’m back to give you an update on the development of pgModeler 2.0.0-beta.
I’m happy to announce that about 50% of the model versioning plugin (git) is now implemented. Here is what we have so far:
• Detailed commit history display, featuring well-rendered forks and merges, along with badges indicating tags and branches.
• Detailed information for the selected commit under the "Commit Info" tab.
• List of modified files in each commit, including the number of additions and deletions per file, under the "Changed files" tab.
• Support for Diff and Blame views. By clicking on a file, a window opens providing instant access to changes and authorship for every line.
• Branch management: Creation, removal, and checkout (supporting both local and remote branches [detached HEAD]).
What’s still missing:
• Commit operations: commit, cherry-pick, revert, and restore.
• Basic repository operations: clone (with SSH/HTTPS authentication), pull, and push.
• Advanced operations: merge and rebase (the latter is still under study).
It might seem like a small list, but getting this into the UI — especially the history rendering — was a massive amount of work. Anyway, I’m very happy with the results. This is the core set of operations I want ready for the stable release of pgModeler 2.0. I’ll add more features in the future as they become necessary or requested.
The main goal of this plugin is, first, to provide a user-friendly interface for those not used to the Git command line. Second, it aims to make pgModeler an even more complete tool, ensuring users don't have to rely on external software in their data modeling workflow.
Finally, this plugin will be a perfect fit for the .sdbm format (split database model, available in pgModeler Plus), which was designed for easier versioning by splitting the model into multiple smaller files to simplify conflict resolution.
As with all other plugins, this will be exclusive to the pgModeler Plus version.
I'll bring more news soon! :)