abapTimeMachine
Shows a whole ABAP object (a class, a function group and the rest) as it stood at a past version, instead of ABAP's native include-by-include compare.
ABAP's own versioning shows one include at a time, so there is no native way to see how a whole class or a whole function group stood at a given time, and the maintainer names finding out which user was responsible for which change as the second problem. ZTIMEMACHINE answers both: for a chosen version it reconstructs the object as a whole, and it partially emulates git blame by showing the revision and author that last modified each line. It needs ABAP 7.40 or higher and abapGitabapGitA Git client written in ABAP that runs inside the system, so objects are cloned, pulled and pushed without leaving it; with no package manager in ABAP, a cloned repository is how code is distributed.community org, abap, and its diff algorithm and syntax highlighter are partly copied from abapGit's own code. The install and usage steps are in the project's Wiki rather than the README.
Facts
Where it sits
Who is behind it
In the atlas: maintains 2@abapinhomaintainerLars HvamContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1@larshpValarContributes to this
In the atlas: contributes to 1@lingcSunNuno GodinhoContributes to this
In the atlas: contributes to 5@nununo3 contributors
Before choosing this
Signals
ActivityQuietNo published releases; repository quiet for 38 months
It publishes no releases, and its repository has been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.
What it declares
Every artifact
- Type
- App
- Origin
- Independently maintained
As an app
- Where it runs
- Inside the system it serves
- Distributed through
- abapGit
Connections
Reading what a change contains and deciding on each part
Git client written in ABAP that runs inside the system
Download
README
quoted from abapinho/abapTimeMachine under MIT, readabapTimeMachine
abapTimeMachine provides a simple way to look at past versions of classes, function groups, etc, as a whole (as opposed to the crappy native include-oriented approach). Alternatively, it also partially emulates git-blame by showing "what revision and author last modified each line of a file" for any given version.
Why
ABAP's versioning system is unbelievably bad. There is no native way to see how a whole class or a whole function group were at a given time in the past. Besides, it makes it very hard to find out which user was responsible for which changes. abapTimeMachine is here to solve both these problems.
How
Please read the Wiki to learn how to install and use ZTIMEMACHINE.
Requirements
- ABAP Version: 7.40 or higher
- abapGit
FAQ
For questions/comments/bugs/feature requests/wishes please create an issue.
Credits
- Most code by Nuno Godinho
- Diff algorithm and syntax highlighter parcially copied from abapGit
Others providing
Compare all 5 on the Code review page →- abap-transport-reviewabap-transport-reviewA release check inside the ABAP system that turns every transport task into a GitHub pull request and refuses to release the request until a colleague has approved it.independent, abapTransport release check gated by GitHub pull request approvalfrom ABAP
- abapOpenReviewabapOpenReviewA code-review tool for SAP GUI that ties a checklist to a transport request: a transport whose diff contains code must be approved before it can be released.independent, abapSAP GUI code review tied to transport releasefrom ABAP
- AVEAVEA SAP GUI version explorer and code reviewer that diffs every object in a transport request and records an approval or decline per changed block, by someone other than its author.independent, abapSAP GUI version explorer and code reviewer for transport requestsfrom ABAP
- VERTEXVERTEXAn extension for ABAP Development Tools for Eclipse and VS Code that shows Simple Data Explorer, AVE and ACE in the editor over the developer's ADT connection.independent, abapADT extension for Eclipse and VS Code showing three SAP GUI toolsfrom ABAP
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
abaplint
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:abapinho-abaptimemachine- JSON
- /artifacts/abapinho-abaptimemachine.json
- MCP
- Connecting an agent