anchor.diff:      DATA: lv_commit TYPE zags_sha1,
             lo_blob   TYPE REF TO zcl_ags_obj_blob,
             lt_files  TYPE ty_files_tt,
  +          lo_commit TYPE REF TO zcl_ags_obj_commit,
             lo_repo   TYPE REF TO zcl_ags_repo.
   
       FIELD-SYMBOLS: <ls_file> LIKE LINE OF lt_files.
  
positive.code: 
    METHOD list_changes.
  
      DATA: lt_new TYPE ty_files_tt,
            lt_old TYPE ty_files_tt,
            ls_new LIKE LINE OF lt_new,
            ls_old LIKE LINE OF lt_old.
  
      FIELD-SYMBOLS: <ls_file> LIKE LINE OF rt_files.
  
  
      lt_new = list_files_simple( iv_new ).
      IF NOT iv_old IS INITIAL AND NOT iv_old CO '0'.
        lt_old = list_files_simple( iv_old ).
      ENDIF.
  
      LOOP AT lt_new INTO ls_new.
  
negative.code:       RETURNING
          VALUE(rt_files) TYPE ty_changed_files_tt
        RAISING
          zcx_ags_error .
      METHODS list_files_extra
        IMPORTING
          !iv_commit      TYPE zags_sha1
        RETURNING
          VALUE(rt_files) TYPE ty_files_tt
        RAISING
          zcx_ags_error .
      METHODS list_files_simple
        IMPORTING
          !io_commit      TYPE REF TO zcl_ags_obj_commit
        RETURNING
          VALUE(rt_files) TYPE ty_files_tt
        RAISING
          zcx_ags_error .
  ENDCLASS.
  
  
  