AppApptypeAn application you deploy and use, installed into a system or loaded into an application as a component, rather than a library whose functions you call.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

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 abapGit, 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

Last pushLicenceMIT

Where it sits

Lives in
Provides
Code reviewABAPCode reviewcapabilityReading a change before it moves on: which files or objects a change contains, what changed in each since an earlier version, and what a reviewer decided about each part. Comparing two versions of one object is where it starts; the review is the record kept of the decision.
Requires
abapGitabapGitartifactListed as a requirement beside the minimum ABAP release, and the route the repository's objects reach a system by.

Who is behind it

AbapinhoAbapinhoOrganisationMaintains this
In the atlas: maintains 2
@abapinho
maintainerLars HvamPersonContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1
@larshp
ValarPersonContributes to this
In the atlas: contributes to 1
@lingcSun
Nuno GodinhoPersonContributes to this
In the atlas: contributes to 5
@nununo
3 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

Connections2

README

quoted from abapinho/abapTimeMachine under MIT, read
abapinho/abapTimeMachine/README.mdOn GitHub

abapTimeMachine

Quality Gate Status

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
MIT, read
Code review
  1. abap-transport-reviewTransport release check gated by GitHub pull request approvalfrom ABAP
  2. abapOpenReviewSAP GUI code review tied to transport releasefrom ABAP
  3. AVESAP GUI version explorer and code reviewer for transport requestsfrom ABAP
  4. VERTEXADT extension for Eclipse and VS Code showing three SAP GUI toolsfrom ABAP

Details

Sources3
Added by handdiscovered herechecked
github.com/abapinho/abapTimeMachinetree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

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
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainabap, developer-experience
abaplint
issues under its own abaplint configuration0
lines4,974
statements3,654
objects68
files76
analysed, master
abaplint version2.120.84
Contributors3

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:abapinho-abaptimemachine
JSON
/artifacts/abapinho-abaptimemachine.json
MCP
Connecting an agent