This repository contains the documentation for abapGit.
You can access the documentation site here.
docs.abapgit.org
Home Page: https://docs.abapgit.org
License: Creative Commons Attribution 4.0 International
The correct link is https://www.youtube.com/watch?v=Yeo9rz-7Pdc&t=31223s. Will create a PR as soon as #96 is merged.
seems like all existing links to documentation are broken after redesign?
add the old corresponding files and have those redirect to the new urls
Add more details to https://docs.abapgit.org/user-guide/setup/ssl-setup.html
Graphic of connection alternatives
Tips for connections from SAP Cloud solutions here
@larshp Could you pls add me as a colaborator to this repo
there is https://docs.abapgit.org/guide-ui.html
Suggest renaming "UI features" -> "Keyboard Navigation", add the missing sections
and move the todo's to new issues(assuming they do not already exist as issues)
Example:
https://docs.abapgit.org/user-guide/
Points to https://github.com/abapGit/docs.abapgit.org/edit/main/user-guide/README.md
But page is at https://github.com/abapGit/docs.abapgit.org/edit/main/src/user-guide/README.md
Missing /src
in the path.
@stockbal, can you please have a look?
@larshp can https://docs.abapgit.org/other-external-libraries.html be removed?
Recently I stumbled over this site again and I thought that there was some room for improvement here.
Some features I missed:
First I thought I would only create a simple mockup to show you how it could look, but I really liked the initial look and feel, so I rebuilt the complete documentation site π - hopefully it was not all for nothing. But in the end, you are the deciders and if does not meet your expectations at all, no hard feelings π .
Although I recently contributed to the DSAG ADT Guide - sorry, it is only available in German - I never really warmed up towards Jekyll. I always felt more comfortable with javascript, and so I moved away from jekyll and used VuePress instead. At the end we get a SPA but each markdown file is still rendered into an HTML file, so not that different from jekyll. But because of the whole setup one can easily use custom VueJS components directly in markdown. But I won't bore you too much with pros and cons, as there is existing documentation where the frameworks are described better and in more detail. I would much rather show you the site.
So here we go, this would be new intro page of the abapGit documentation. I moved the different entry points of the documentation in the top navbar, so "User-Guide" and "Development-Guide". For the primary theme color I used the orange from the abapGit logo, but we can choose any other color as well.
Next up we have a standard content page by which I will use to explain the most important feature of the used theme (VuePress Theme Hope).
Furthermore the following actions are located at the footer of a content page
It is very to easy to create special info sections to warn, inform or give tips to the user.
Such sections can be inserted via:
:::tip
<your tip>
:::
For a detailed overview of the available categorys look here.
I already mentioned the missing dark theme, so of course the new site comes with it π.
I gues that's enough for a cursory overview of the capabilities that are built into the site.
The site is currently deployed on a gh-pages branch of my fork of this repository and you can visit via https://abapgitdocs.devepos.com.
Please let me know your thoughts and if you want to move into this direction.
P.S. I also did some restructuring of the markdown files during the move to VuePress
The new folder structure looks like this:
ββ src
ββ .vuepress # configuration files for vuepress
ββ development-guide
β ββ api
β ββ read-first
β ββ serializers
β ββ technical-details
β ββ testing
β ββ user-interface
β
ββ user-guide
β ββ getting-started
β ββ other
β ββ projects
β β ββ offline
β β ββ online
β ββ reference
β ββ repo-settings
β ββ setup
ββ README.md
Cheers,
Ludwig
Ref https://docs.abapgit.org/ref-database-util.html
REPO
was split into REPO
and REPO_CS
It looks like quite a few have problems getting the SSL setup done right:
We could improve documentation but maybe a separate setup ABAP would be helpful that checks parameters and uploads/updates the required certificates.
Section # Any ABAP Language Version
Import
When deserializing objects, abapGit will set the ABAP language version according to the metadata of each object.
--> In systems that use software components which enforce the use of the language version "ABAP for Cloud Development" the import tool should not try to set the language version to "ABAP standard" since it will not be possible to activate the object even if the source code might be compatible.
It is very cumbersome to change the ABAP language version for several objects since no mass change support is available for this in ADT. So it should be tried to set the language version to the version that is enforced or the import should be blocked to prevent lots of objects to be created that cannot be activated by definition.
docs.abapgit.org/docs/collections/_development/technical-links.md
Lines 11 to 19 in 2c9ed8a
how to avoid errors
I've end with a dump in ZCL_ABAPGIT_GIT_PACK=>ENCODE_TREE
With : ASSERT NOT <ls_node>-name IS INITIAL.
Because of an initial name.
I've got this initial name because ZCL_ABAPGIT_GIT_PORCELAIN=>FIND_FOLDERS
Generate folder with a '/' at the end.
With a folder list in rt_folders line 21 :
PATH | COUNT | SHA1 |
---|---|---|
/ | 0 | Β |
/S51/100/BC/T000 | 0 | Β |
/S51/100/CA/T000ATP | 0 | Β |
/S51/100/FI/T000C | 0 | Β |
/S51/100/FI/T000CLNT | 0 | Β |
/S51/100/FI/T001 | 0 | Β |
/S51/100/FI/T001Z | 0 | Β |
/S51/100/LO/T001K | 0 | Β |
/S51/100/LO/T001L | 0 | Β |
/S51/100/LO/T001W | 0 | Β |
/S51/100/MM/T001Y | 0 | Β |
/S51/100/PA/T001P | 0 | Β |
/S51/100/PP/T000MD | 0 | Β |
I end with this list which includes duplicates.
PATH | COUNT | SHA1 |
---|---|---|
/ | 0 | Β |
/S51/ | 0 | Β |
/S51/100**/** | 0 | Β |
/S51/100/BC**/** | 0 | Β |
/S51/100/BC/T000 | 0 | Β |
/S51/100/BC/T000**/** | 0 | Β |
/S51/100/CA/ | 0 | Β |
/S51/100/CA/T000ATP | 0 | Β |
/S51/100/CA/T000ATP**/** | 0 | Β |
/S51/100/FI/ | 0 | Β |
/S51/100/FI/T000C | 0 | Β |
/S51/100/FI/T000C**/** | 0 | Β |
/S51/100/FI/T000CLNT | 0 | Β |
/S51/100/FI/T000CLNT/ | 0 | Β |
/S51/100/FI/T001 | 0 | Β |
/S51/100/FI/T001/ | 0 | Β |
/S51/100/FI/T001Z | 0 | Β |
/S51/100/FI/T001Z/ | 0 | Β |
/S51/100/LO/ | 0 | Β |
/S51/100/LO/T001K | 0 | Β |
/S51/100/LO/T001K/ | 0 | Β |
/S51/100/LO/T001L | 0 | Β |
/S51/100/LO/T001L/ | 0 | Β |
/S51/100/LO/T001W | 0 | Β |
/S51/100/LO/T001W/ | 0 | Β |
/S51/100/MM/ | 0 | Β |
/S51/100/MM/T001Y | 0 | Β |
/S51/100/MM/T001Y/ | 0 | Β |
/S51/100/PA/ | 0 | Β |
/S51/100/PA/T001P | 0 | Β |
/S51/100/PA/T001P/ | 0 | Β |
/S51/100/PP/ | 0 | Β |
/S51/100/PP/T000MD | 0 | Β |
/S51/100/PP/T000MD/ | 0 | Β |
I've fixed this with this change :
add empty folders
LOOP AT rt_folders ASSIGNING <ls_folder>.
SPLIT <ls_folder>-path AT '/' INTO TABLE lt_paths.
CLEAR lv_path.
LOOP AT lt_paths INTO lv_split.
**CONCATENATE lv_path lv_split INTO lv_path.**
READ TABLE rt_folders WITH KEY path = lv_path TRANSPORTING NO FIELDS.
IF sy-subrc <> 0.
APPEND INITIAL LINE TO rt_folders ASSIGNING <ls_new>.
<ls_new>-path = lv_path.
ENDIF.
**CONCATENATE lv_path '/' INTO lv_path.**
ENDLOOP.
ENDLOOP.
The '/' is added at the end of the loop.
I also suggest to replace :
APPEND INITIAL LINE TO rt_folders ASSIGNING <ls_new>.
With
INSERT INITIAL LINE INTO rt_folders ASSIGNING <ls_new> index 1.
For performance reason as rt_folder is a standard table...
I've got a lot of folder...
install.md
states that the developer version is targeted at developers contributing to the codebase. However, isn't it true that the developer version supports parallel processing, while the standalone version does not?
I find the performance gains of the parallel processing to be a good reason to install the developer version even if you don't intend to contribute. I therefore believe this information should be added to install.md
. What do you think?
CC-BY-4.0 maybe
https://choosealicense.com/non-software/
update https://docs.abapgit.org/development-guide/serializers/
As the Support Launchpad will be transitioned to SAP for Me should the SAP Note Links in the documentation be updated as well?
For example:
-https://launchpad.support.sap.com/#/notes/1240796
+https://me.sap.com/notes/1240796
(see here)
We should add a comparison of abapGit and gCTS to the documentation. As a start a simple table with topics will do. We can add more detailed descriptions later.
Let's use this issue to collect topics (including items that are the same for both)...
Topic | abapGit | gCTS |
---|---|---|
Availability for SAP releases | 702 and higher | 754 and higher (AS ABAP 1909) |
Upgrade | at will | SAP release upgrade |
Conceptual focus | objects (git content) | commits (git history) |
Scope of repositories | based on SAP packages | based on collection of transports |
Support for local developments ($ packages) | yes | no |
Support for transportable developments (y/z packages, /namespace/) | yes | yes |
Supported object types | some | all (SAP Note 2888887) |
Support for customizing | yes (via Business Configuration Sets) | yes (via CDAT, TDAT, VDAT) |
Support for table content | yes (beta) | TABU ? |
Support for AFF | 4 object types | 0 |
"Single source of truth" | in git | is it git or SAP ? |
Local repository | in ABAP memory | on ABAP file server |
Remote repository | many git servers | GitHub, Gitlab, other with restrictions |
Git folder structure | /<package>/<subpackage>/files (per R3TR object) |
/objects/<object_type>/<object>/files (per LIMU object) |
Git file formats (metadata) | .xml and some .json (AFF) |
.json only |
Git file formats (ABAP code) | .abap |
.abap |
Git file split (ABAP classes) | one file per class | one file per method |
Git end-of-file | empty line | no empty line (contrary to AFF) |
Push (stage/commit) | by object | by transport |
Push (patch/commit) | by object | no |
Pull (latest commit) | yes | yes |
Pull (any commit) | yes | yes |
Pull (from PR) | yes | ? |
Pull (from fork) | yes | no |
Background mode | yes | no |
Switch branches | yes | |
Switch tags | yes | |
Merge conflict resolution | in git, doesn't happen in abapGit by design | in ABAP or git |
Show diffs | yes | no (only object name) |
Jump to object maintenance | yes | no |
Activity log | no | yes |
Define prerequisites | yes | yes |
Define dependencies | yes (apack) | yes |
Usage in open source | 220+ | 0 |
Bugs and feature requests/development | fully open | fully closed (behind login) |
Integration with transport tools | yes | yes |
Integration in development tools | yes | yes |
Use for deployment (dev>qa>prod) | possible, but not recommended | yes |
Use for delivery (to customers/other landscapes) | yes | no |
traps, pitfalls, disclaimers
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.