mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Improve performance of push for large repos (#6390)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
095a04834a
commit
b1582db9b4
|
@ -216,7 +216,7 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
|||
CLEAR lt_nodes.
|
||||
|
||||
* files
|
||||
LOOP AT it_expanded ASSIGNING <ls_exp> WHERE path = <ls_folder>-path.
|
||||
LOOP AT it_expanded ASSIGNING <ls_exp> USING KEY path WHERE path = <ls_folder>-path.
|
||||
APPEND INITIAL LINE TO lt_nodes ASSIGNING <ls_node>.
|
||||
<ls_node>-chmod = <ls_exp>-chmod.
|
||||
<ls_node>-name = <ls_exp>-name.
|
||||
|
@ -577,7 +577,7 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
|||
|
||||
APPEND <ls_stage>-file TO lt_blobs.
|
||||
|
||||
READ TABLE lt_expanded ASSIGNING <ls_exp> WITH KEY
|
||||
READ TABLE lt_expanded ASSIGNING <ls_exp> WITH TABLE KEY path_name COMPONENTS
|
||||
name = <ls_stage>-file-filename
|
||||
path = <ls_stage>-file-path.
|
||||
IF sy-subrc <> 0. " new files
|
||||
|
@ -595,11 +595,12 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
|||
<ls_updated>-sha1 = lv_sha1. "New sha1
|
||||
|
||||
WHEN zif_abapgit_definitions=>c_method-rm.
|
||||
DELETE lt_expanded
|
||||
WHERE name = <ls_stage>-file-filename
|
||||
AND path = <ls_stage>-file-path.
|
||||
READ TABLE lt_expanded ASSIGNING <ls_exp> WITH TABLE KEY path_name COMPONENTS
|
||||
name = <ls_stage>-file-filename
|
||||
path = <ls_stage>-file-path.
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
CLEAR <ls_exp>-sha1. " Mark as deleted
|
||||
CLEAR <ls_updated>-sha1. " Mark as deleted
|
||||
|
||||
WHEN OTHERS.
|
||||
|
@ -607,6 +608,8 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
|||
ENDCASE.
|
||||
ENDLOOP.
|
||||
|
||||
DELETE lt_expanded WHERE sha1 IS INITIAL.
|
||||
|
||||
lt_trees = build_trees( lt_expanded ).
|
||||
|
||||
receive_pack_push(
|
||||
|
|
|
@ -92,7 +92,9 @@ INTERFACE zif_abapgit_git_definitions
|
|||
chmod TYPE ty_chmod,
|
||||
END OF ty_expanded .
|
||||
TYPES:
|
||||
ty_expanded_tt TYPE STANDARD TABLE OF ty_expanded WITH DEFAULT KEY .
|
||||
ty_expanded_tt TYPE STANDARD TABLE OF ty_expanded WITH DEFAULT KEY
|
||||
WITH NON-UNIQUE SORTED KEY path_name COMPONENTS path name
|
||||
WITH NON-UNIQUE SORTED KEY path COMPONENTS path.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_create,
|
||||
|
|
Loading…
Reference in New Issue
Block a user