anchor.diff:    PUBLIC SECTION.
       CLASS-METHODS: visit
         IMPORTING it_sha1        TYPE zags_sha1_tt
  -      RETURNING VALUE(rt_sha1) TYPE zags_sha1_tt.
  +      RETURNING VALUE(rt_sha1) TYPE zags_sha1_tt
  +      RAISING   zcx_abapgit_exception.
   
   ENDCLASS.
   
  
positive.code:       READ TABLE gt_objects WITH KEY
          repo = '' sha1 = <lv_sha1>
          ASSIGNING <ls_object>.
        ASSERT sy-subrc = 0.
  
        CASE <ls_object>-type.
          WHEN zif_ags_constants=>c_type-tree.
            CALL METHOD ('\PROGRAM=ZABAPGIT\CLASS=LCL_GIT_PACK')=>decode_tree
              EXPORTING
                iv_data  = <ls_object>-data_raw
              RECEIVING
                rt_nodes = lt_tree.
            LOOP AT lt_tree ASSIGNING <ls_tree>.
              APPEND <ls_tree>-sha1 TO rt_sha1.
            ENDLOOP.
          WHEN zif_ags_constants=>c_type-commit.
            CALL METHOD ('\PROGRAM=ZABAPGIT\CLASS=LCL_GIT_PACK')=>decode_commit
              EXPORTING
                iv_data   = <ls_object>-data_raw
              RECEIVING
                rs_commit = ls_commit.
            IF NOT ls_commit-parent IS INITIAL.
              APPEND ls_commit-parent TO rt_sha1.
            ENDIF.
  
negative.code: 
  ENDCLASS.
  
  FORM run RAISING zcx_ags_error zcx_abapgit_exception.
  
    DATA: lt_repos    TYPE zags_repos_tt,
          lt_sha1     TYPE zags_sha1_tt,
  