anchor.diff:  
         lv_patch = lo_git_add_patch->get_patch_binary( ).
   
  -      mo_stage->add(
  -          iv_path     = <ls_diff_file>-path
  -          iv_filename = <ls_diff_file>-filename
  -          iv_data     = lv_patch ).
  +      IF  <ls_diff_file>-lstate = 'D'
  +      AND are_all_lines_patched( lt_diff ) = abap_true.
  +
  +        mo_stage->rm(
  +            iv_path     = <ls_diff_file>-path
  +            iv_filename = <ls_diff_file>-filename ).
  +
  +      ELSE.
  +
  +        mo_stage->add(
  +            iv_path     = <ls_diff_file>-path
  +            iv_filename = <ls_diff_file>-filename
  +            iv_data     = lv_patch ).
  +
  +      ENDIF.
   
       ENDLOOP.
   
  
positive.code:       IMPORTING
          it_postdata TYPE cnht_post_data_tab
        RAISING
          zcx_abapgit_exception .
      METHODS apply_patch_all
        IMPORTING
          iv_patch      TYPE string
  
negative.code:         o_diff     TYPE REF TO zcl_abapgit_diff,
          changed_by TYPE xubname,
          type       TYPE string,
        END OF ty_file_diff.
      TYPES:
        tt_file_diff TYPE STANDARD TABLE OF ty_file_diff.
  
      CONSTANTS:
        BEGIN OF c_fstate,
          local  TYPE char1 VALUE 'L',
          remote TYPE char1 VALUE 'R',
          both   TYPE char1 VALUE 'B',
        END OF c_fstate.
  
      METHODS constructor
        IMPORTING
  