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
* change merge and staging
always push to the top of the currently selected branch
* remove branch and sha1 from stage object #365
* REPO not longer part of GIT_PORCELAIN
SET_OBJECTS moved to private
* and remove fields from constructor
Change methods INITIALIZE + RESET_STATUS to private in ZCL_ABAPGIT_REPO_ONLINE
One external call of INITIALIZE changed to use REFRESH instead
Part of refactoring for issue #1757
* LOG: extra ADD_* methods
Methods ADD_ERROR, ADD_INFO, and ADD_WARNING added to log class
* refactor background to use log object
refactor background to use log object instead of WRITE
- Stage button in diff screen removed
+ Vimium like link hint navigation, enable in settings
* ecatt downport
* Performance optimizations
* SSFO fix jump to text module
* Vimium like link hint navigation
After this commit is applied, the link hint navigation can be used.
The feature can be activated and configured in the user settings.
Role model is the link hint navigation in the Google Chrome plugin
Vimium.
* refactoring: introduce KeyNavigation prototype
* refactoring: introduce LinkHints prototype
* 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_SAP_PACKAGE
- Added a buffering option to ZCL_ABAPGIT_SAP_PACKAGE=>LIST_SUBPACKAGES, which gives a performance increase in repos with a deep tree structure, because all relevant packages are read from the DB only once and then the determination of subpackages is performed on an internal buffer table.
* Used buffered SAP package information determination in file status processing
* Level-based Subpackage Selection
- Replaced buffered package access with level-based subpackage selection
* Minor fix for select statements to avoid warnings
* 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.
Background mode must be reconfigured after installing this version
New interface ZIF_ABAPGIT_BACKGROUND for implementing custom handlers
Background mode will now push deletions
* pretty print, trigger reordering of methods
* skip PGP signature
* change PARSE_COMMITS to static
change PARSE_COMMITS to static and add unit tests class
* add simple unit test and fix CI findings