TADIR performance #1756
All usages of TADIR aligned to use the same structure.
DELFLAG added in the structure.
2 identical structure definitions deleted.
todo: test this PR works after abapmerge has run
* Optimized ZCL_ABAPGIT_TADIR=>BUILD for better performance
- Using the optimizations in ZCL_ABAPGIT_FOLDER_LOGIC (PR #1723) and ZCL_ABAPGIT_SAP_PACKAGE (PR #1724) to optimize the TADIR build method, by first determining all relevant subpackages and then processing them in one go instead of having to recurse and read information from the DB separately.
- Note that the optimization can also be used without the changes in #1723 and #1724, but the effect will be less or worse and the coding requires adaptations.
* Fixes coding artifact of #1723
Removed a coding artifact that makes use of importing parameter ÌO_FOLDER_LOGIC`, which is no longer needed in the flat BUILD processing.
* Adapted for rework in #1724
After adapting PR #1724 to no longer use buffering, but instead select packages with a level-based selection, the buffering parameter in `ZCL_ABAPGIT_SAP_PACKAGE=>LIST_SUBPACKAGES` no longer exists and should not be used in this PR.
* Compressed IF/ELSE construct
* Removed whitespaces
* Fixed auto-merge issue
Removed a double variable declaration resulting from git auto-merge
* Added Buffering to ZCL_ABAPGIT_FOLDER_LOGIC
- Converted ZCL_ABAPGIT_FOLDER_LOGIC=>PACKAGE_TO_PATH and ZCL_ABAPGIT_FOLDER_LOGIC=>PATH_TO_PACKAGE to instance methods, so they can work with buffered data when constructiing path information. This gives a performance advantage in repos with a depp tree structure and multiple leaf packages
- Adapted all calling code to use an instance of ZCL_ABAPGIT_FOLDER_LOGIC instead of the previously available static methods
- Where applicaple PACKAGE_TO_PATH and PATH_TO_PACKAGE were called in an instance of ZCL_ABAPGIT_FOLDER_LOGIC, which was instanced outside of a processing loop and thus profited from the introduced buffering
* Fixed errors
* Removed obsolete coding artifacts
Removed an obsolete parameter, that accidentally got merged into the code when building the pull request
* Forwarded FOLDER_LOGIC instance to recursed calls
Forwarded ZCL_ABAPGIT_FOLDER_LOGIC instance to subsequent BUILD calls to make use of buffering, until the optimizations in #1725 are in place.
* refactor write protect and ignore subpackages
to local settings structure, this makes it a lot easier to exetend, plus adds structure
* delete method GET_MASTER_LANGUAGE
* add local settings to repo settings page
* add setting for only local objects #1260