ABAP – Using git for safety and transparency
Not all organizations have a git server in-house, and sometimes it might be difficult to get permission to put all the ABAP code into the cloud. So the abapGitServer project was started, it is a git server which can be installed on the ABAP application server, it is open source and MIT licensed.
If you want to try out git in connection with ABAP, abapGitServer uses the existing SAP infrastructure and does not require any licenses, plus it does not require the ABAP system to be connected to the internet. User administration is also easy, as abapGitServer can be installed on the ABAP development system, so all developers will automatically have access.
If you have something like Github Enterprise, Gitlab CE or similar in your landscape this can be used instead of abapGitServer. However, something has to be setup regarding authentication, authentication with abapGit and abapGitServer is easy as it uses logon tickets.
Follow this guide to setup automatic push from abapGit to abapGitServer.
abapGitServer can be started via transaction ZABAPGITSERVER. And is organized in repositories, e.g. one repository for each project.
Commits can be listed for each repository,
And show exactly what has been changed,
With abapGit running in the background, all objects are automatically backed up regularly, e.g. every hour. SAP automatically creates a version when the transport is released, however with abapGit all details will be kept in history down to the hour. This is useful if code are deleted by accident, or doing too much heavy refactoring and forgetting to generate a version :o)
Full chronological history
It gives a complete overview of what has been changed across object types. If something suddenly breaks somewhere, it is possible to check the history for what has recently been changed, to see if this might have caused the error.
Versioning for non-versioned objects
abapGit works with message classes and smartforms, which are not versioned in standard SAP. With automatic backup, the non-versioned object types are versioned in git, and it is possible to see what/who has been changed.
Non-disruptive developer workflow
abapGit runs as a background job, and automatically tries to determine which developer changed the object. So there are no changes to the developer workflow, developers keep working as normal. The git backup just runs automatically and adds insights into your ABAP development.
Anyhow, try it out, its free and open source, just requires a developer key and a ABAP 7.03+ system.
Download from https://github.com/larshp/abapGitServer
Issues and pull requests welcome on the github page.