Git for All Your Code
Git has become the de facto standard for open source version control. Nevertheless, while your team may be using Git for open source code, your traditional IBM i programs and other code may use no version control at all, or be stuck in a repository that is difficult to access.
In this article, we’ll cover why you might want to move code to Git and suggest tools that make the move practical for IBM i teams.
Why Git for it?
There are several reasons to consider moving your traditional IBM i code to Git.
- Collaborate using the same tools. Web-based Git hosts such as Bitbucket, GitLab, or GitHub provide tools for collaboration and review (like pull reviews) and can integrate with external systems like JIRA for more complex project management. When your traditional code isn’t in your Git repositories, you have to rely on other means of coordination.
- Consistency. Using one tool can reduce costs and training. It also reduces the cognitive overhead of switching between version control systems (especially if they’re wildly different centralized systems like Subversion), making it easier for developers.
- Cross-Training. Having all source code in one system makes it easier to cross-train teams to understand each other’s code (e.g. PHP, Python, Node.js, RPG, SQL).
- Easier navigation. With web-based Git hosts, authorized users who might not actively write code—such as managers and team members who work with other languages—can easily browse and search through the codebase. For in-depth investigation, they can clone the repository locally and review code with tools they’re familiar with.
- People outside already know it. Git, like it or not, has become the de facto standard in version control for most developers. Your new hires will probably be familiar enough with it, at least in a basic capacity, to get started right away. You can reduce on-boarding time and teaching of procedures that way.
What if…
…I’m already using some other source control solution?
It might still be worth converting to Git for the reasons above. Alternatively, many traditional change management vendors are bridging the gap with automatic Git mirroring.
…I’m not using the code anymore, or I plan to replace it soon? Why should I bother?
Having the code in Git makes it easier to review in case you need to port logic to a newer application (how much old business logic is deep in an old application, and never documented?) or retain it for discovery (you never know when you may need to provide code for legal reasons; having code with history can be very useful for making a case).
Git tools for various IDEs and workflows
We at Seiden Group are IBM i focused, but we still see Git adoption as a trend across all platforms. ISVs and consultants across the board are helping their customers adopt Git. It’s not just training—ISVs also offer tools to make adoption easier, especially if the platform’s native conventions go against the Git grain.
Available tools
- For traditional IBM i languages, there are multiple solutions that cover different needs.
- Traditional Change Management Users
Most commercial change management vendors offer Git integration. If you use a commercial change managment tool and are interested in Git, ask your vendor for details. - RDi, SEU, PDM Users
To make Git available for users of legacy IDEs such as SEU, or other IDEs such as RDi, our team member Richard Schoen offers a commercial product called iForGit. It aims to close the gap of processes to move traditional RPG source member workflows to Git. - VS Code for IBM i (Updated 10/24/2023)
For IBM i development teams interested in modernizing their RPG/COBOL/CL workflows, Liam Allan offers the free VS Code for i extension, which works with Git out of the box to support IBM i systems.
- Traditional Change Management Users
- For OpenVMS, VMS Software, the current maintainers of VMS, offer vGit. This appears to be a reimplementation of Git.
- For Windows-based IDEs like Visual Basic 6, our team member Calvin is working on Visual Git, which integrates Git into a variety of hosts like VB6 or older Visual Studio. It’s still being worked on as of this writing, but you can sign up for a pre-release.
Training
- For IBM i, we at Seiden Group offer Git training.
Bring it together with Git
In recent years, we have been helping companies use Git to unify their developers and code bases. Sharing knowledge, searching and reviewing code, understanding processes used by other teams, and cross-training, not to mention the potential for automation, are all possible when standardizing on Git for source code version control.
Don’t let old code be forgotten. It can live alongside newer code in a Git repository and continue to offer value. For more ideas about Git, contact us.
The link in the VS Code section leads to a 404.
Thanks for pointing this out, Allister. The link is broken because Git Client for IBM i is no longer needed due to improvements in deployment for local development. We’ll update the post. Thanks again!