diff --git a/src/zabapgit_file_status.prog.abap b/src/zabapgit_file_status.prog.abap index 8ade9c97a..105c3b2dd 100644 --- a/src/zabapgit_file_status.prog.abap +++ b/src/zabapgit_file_status.prog.abap @@ -37,15 +37,12 @@ CLASS lcl_file_status IMPLEMENTATION. METHOD compare_files. READ TABLE it_repo WITH KEY - path = is_gen-path + path = is_gen-path filename = is_gen-filename - data = is_gen-data + sha1 = is_gen-sha1 TRANSPORTING NO FIELDS. - IF sy-subrc <> 0. - rv_match = abap_false. - ELSE. - rv_match = abap_true. - ENDIF. + + rv_match = boolc( sy-subrc = 0 ). ENDMETHOD. "compare_files @@ -70,7 +67,7 @@ CLASS lcl_file_status IMPLEMENTATION. lt_remote = io_repo->get_files_remote( ). - lt_local = io_repo->get_files_local( io_log ). + lt_local = io_repo->get_files_local( io_log ). LOOP AT lt_remote ASSIGNING . lcl_progress=>show( iv_key = 'Status' @@ -112,8 +109,8 @@ CLASS lcl_file_status IMPLEMENTATION. LOOP AT lt_files ASSIGNING . ls_result-filename = -filename. - ls_result-match = compare_files( it_repo = lt_remote - is_gen = ). + ls_result-match = compare_files( it_repo = lt_remote + is_gen = ). APPEND ls_result TO rt_results. ENDLOOP. ENDLOOP. @@ -124,7 +121,7 @@ CLASS lcl_file_status IMPLEMENTATION. TRANSPORTING NO FIELDS. IF sy-subrc <> 0. IF io_repo->get_dot_abapgit( )->is_ignored( - iv_path = -path + iv_path = -path iv_filename = -filename ) = abap_true. CONTINUE. ENDIF. @@ -149,7 +146,7 @@ CLASS lcl_file_status IMPLEMENTATION. LOOP AT lt_tadir ASSIGNING . READ TABLE rt_results WITH KEY obj_type = -object - obj_name = -obj_name + obj_name = -obj_name TRANSPORTING NO FIELDS. IF sy-subrc <> 0. ls_item-obj_type = -object. @@ -168,8 +165,8 @@ CLASS lcl_file_status IMPLEMENTATION. LOOP AT rt_results ASSIGNING WHERE obj_type = -object - AND obj_name = -obj_name - AND path IS INITIAL. + AND obj_name = -obj_name + AND path IS INITIAL. * new file added locally to existing object -path = io_repo->get_dot_abapgit( )->get_starting_folder( ) && -path. -new = gc_new-local. diff --git a/src/zabapgit_repo.prog.abap b/src/zabapgit_repo.prog.abap index 43288f1da..ba68c567b 100644 --- a/src/zabapgit_repo.prog.abap +++ b/src/zabapgit_repo.prog.abap @@ -121,7 +121,8 @@ CLASS lcl_repo_online DEFINITION INHERITING FROM lcl_repo FINAL. mt_objects TYPE ty_objects_tt, mv_branch TYPE ty_sha1, mv_initialized TYPE abap_bool, - mo_branches TYPE REF TO lcl_git_branch_list. + mo_branches TYPE REF TO lcl_git_branch_list, + mt_status TYPE ty_results_tt. METHODS: handle_stage_ignore diff --git a/src/zabapgit_repo_impl.prog.abap b/src/zabapgit_repo_impl.prog.abap index 21e8c5e8b..5aa3702a3 100644 --- a/src/zabapgit_repo_impl.prog.abap +++ b/src/zabapgit_repo_impl.prog.abap @@ -42,8 +42,11 @@ CLASS lcl_repo_online IMPLEMENTATION. initialize( ). - rt_results = lcl_file_status=>status( io_repo = me - io_log = io_log ). + IF lines( mt_status ) = 0. + mt_status = lcl_file_status=>status( io_repo = me + io_log = io_log ). + ENDIF. + rt_results = mt_status. ENDMETHOD. "status @@ -66,6 +69,7 @@ CLASS lcl_repo_online IMPLEMENTATION. METHOD refresh. super->refresh( ). + CLEAR mt_status. lcl_progress=>show( iv_key = 'Fetch' iv_current = 1