anchor.diff:  
       DATA: lt_tadir     TYPE zif_abapgit_definitions=>ty_tadir_tt,
             lo_progress  TYPE REF TO zcl_abapgit_progress,
  -          lt_cache     TYPE SORTED TABLE OF zif_abapgit_definitions=>ty_file_item
  -                   WITH NON-UNIQUE KEY item,
  +          lt_cache     TYPE ty_cache_tt,
  +          lt_found     LIKE rt_files,
             ls_fils_item TYPE zcl_abapgit_objects=>ty_serialization.
  -
  -    DATA: lt_filter       TYPE SORTED TABLE OF zif_abapgit_definitions=>ty_tadir
  -                          WITH NON-UNIQUE KEY object obj_name,
  -          lv_filter_exist TYPE abap_bool.
   
       FIELD-SYMBOLS: <ls_file>   LIKE LINE OF ls_fils_item-files,
                      <ls_return> LIKE LINE OF rt_files,
  -                   <ls_cache>  LIKE LINE OF lt_cache,
                      <ls_tadir>  LIKE LINE OF lt_tadir.
   
   
  
positive.code:       ls_fils_item-item-obj_type = <ls_tadir>-object.
        ls_fils_item-item-obj_name = <ls_tadir>-obj_name.
        ls_fils_item-item-devclass = <ls_tadir>-devclass.
        IF mv_last_serialization IS NOT INITIAL. " Try to fetch from cache
          READ TABLE lt_cache TRANSPORTING NO FIELDS
            WITH KEY item = ls_fils_item-item. " type+name+package key
          " There is something in cache and the object is unchanged
          IF sy-subrc = 0
              AND abap_false = zcl_abapgit_objects=>has_changed_since(
              is_item      = ls_fils_item-item
              iv_timestamp = mv_last_serialization ).
            LOOP AT lt_cache ASSIGNING <ls_cache> WHERE item = ls_fils_item-item.
              APPEND <ls_cache> TO rt_files.
            ENDLOOP.
  
            CONTINUE.
          ENDIF.
        ENDIF.
  
        ls_fils_item = zcl_abapgit_objects=>serialize(
          is_item     = ls_fils_item-item
          iv_language = get_dot_abapgit( )->get_master_language( )
          io_log      = io_log ).
  
  
        LOOP AT ls_fils_item-files ASSIGNING <ls_file>.
          <ls_file>-path = <ls_tadir>-path.
  
negative.code:                 iv_deserialized_at TYPE zif_abapgit_persistence=>ty_repo-deserialized_at OPTIONAL
                  iv_deserialized_by TYPE zif_abapgit_persistence=>ty_repo-deserialized_by OPTIONAL
        RAISING
                  zcx_abapgit_exception .
      METHODS reset_status .
      METHODS reset_remote .
    PRIVATE SECTION.
  
      TYPES:
        ty_cache_tt TYPE SORTED TABLE OF zif_abapgit_definitions=>ty_file_item
                           WITH NON-UNIQUE KEY item .
  
      METHODS apply_filter
        IMPORTING
          !it_filter TYPE zif_abapgit_definitions=>ty_tadir_tt
        CHANGING
          !ct_tadir  TYPE zif_abapgit_definitions=>ty_tadir_tt .
      METHODS build_dotabapgit_file
        RETURNING
          VALUE(rs_file) TYPE zif_abapgit_definitions=>ty_file
        RAISING
          zcx_abapgit_exception .
      METHODS lookup_cache
        IMPORTING
          !it_cache       TYPE ty_cache_tt
          !is_item        TYPE zif_abapgit_definitions=>ty_item
        RETURNING
          VALUE(rt_found) TYPE zif_abapgit_definitions=>ty_files_item_tt
        RAISING
          zcx_abapgit_exception .
      METHODS update_last_deserialize
        RAISING
          zcx_abapgit_exception .
  