Introduction
You have probably stumbled upon some cool projects at
github like the
linux kernel or
node-js. Until now it has been quite cumbersome to push your open source ABAP to Git repositories, abapGit will help to make this easier.
abapGit is a Git client written in ABAP for ABAP, it lets you clone projects or commit objects to the Git repository.
Installing
- Download the source code from the github repository
- Paste the code in new report using SE38
- Configure SSL in transaction STRUST
- Run
Uninstalling
- Delete report
- Delete standard texts ZABAPGIT* via SO10
How abapGit works
First step is to clone a repository, this will create the objects from the repository in the SAP system. After this, one of the following commands will appear:
pull
If the files in the repository have been changed, the ABAP objects can be updated with the pull command
commit
If the latest changes are implemented in the SAP system, and objects in SAP are changed, the changes can be pushed to the Git repository using the commit command.
add
After having pulled or cloned the repository, the objects will be in sync, at this stage it is possible to add new ABAP objects to the Git repository.
Design/Internals
The "distributed" part of Git is not implemented in abapGit, it will pull data from the repository quite often, and advanced git commands like blame etc. is also not supported.
It is currently only possible to serialize reports, classes, data elements, and domains, other objects will be implemented over time. All code will be serialized to .abap files in the repository making it easy to read online, meta data will be serialized to .xml files.
Beware that this is alpha software and provided "as is", take care and only run in test systems.
Hopefully abapGit will help to ease
cooperation in ABAP open source projects and inspire more to do open source ABAP.