mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
Optimize STATUS performance (#1664)
* Optimize STATUS performance move list_subpackages() outside of loop * logic updated
This commit is contained in:
parent
b98db9bd7c
commit
16dcb2ea99
|
@ -57,7 +57,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_file_status IMPLEMENTATION.
|
||||
CLASS ZCL_ABAPGIT_FILE_STATUS IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD build_existing.
|
||||
|
@ -190,6 +190,7 @@ CLASS zcl_abapgit_file_status IMPLEMENTATION.
|
|||
lt_items TYPE zif_abapgit_definitions=>ty_items_tt,
|
||||
ls_item LIKE LINE OF lt_items,
|
||||
lv_is_xml TYPE abap_bool,
|
||||
lv_sub_fetched TYPE abap_bool,
|
||||
lt_sub_packages TYPE zif_abapgit_sap_package=>ty_devclass_tt,
|
||||
lt_items_idx TYPE zif_abapgit_definitions=>ty_items_ts,
|
||||
lt_state_idx TYPE zif_abapgit_definitions=>ty_file_signatures_ts. " Sorted by path+filename
|
||||
|
@ -241,8 +242,11 @@ CLASS zcl_abapgit_file_status IMPLEMENTATION.
|
|||
iv_obj_name = ls_item-obj_name ).
|
||||
|
||||
IF NOT ls_item-devclass IS INITIAL AND iv_devclass <> ls_item-devclass.
|
||||
* make sure the package is under the repo main package
|
||||
IF lv_sub_fetched = abap_false.
|
||||
lt_sub_packages = zcl_abapgit_factory=>get_sap_package( iv_devclass )->list_subpackages( ).
|
||||
lv_sub_fetched = abap_true.
|
||||
ENDIF.
|
||||
* make sure the package is under the repo main package
|
||||
READ TABLE lt_sub_packages WITH KEY table_line = ls_item-devclass TRANSPORTING NO FIELDS.
|
||||
IF sy-subrc <> 0.
|
||||
CLEAR ls_item-devclass.
|
||||
|
|
Loading…
Reference in New Issue
Block a user