anchor.diff:          !iv_string TYPE clike
         EXPORTING
           !ev_key    TYPE zif_abapgit_persistence=>ty_repo-key
  -        !eg_file   TYPE any                                "assuming ty_file
  -        !eg_object TYPE any                    "assuming ty_item
  +        !eg_file   TYPE any                                    "assuming ty_file
  +        !eg_object TYPE any                      "assuming ty_item
         RAISING
           zcx_abapgit_exception .
       CLASS-METHODS dbkey_encode
  
positive.code: 
      IF eg_object IS SUPPLIED.
        get_field( EXPORTING iv_name = 'OBJ_TYPE' it_field = lt_fields CHANGING cg_field = eg_object ).
        get_field( EXPORTING iv_name = 'OBJ_NAME' it_field = lt_fields CHANGING cg_field = eg_object ).
      ENDIF.
  
    ENDMETHOD.
  
  
    METHOD get_field.
  
      FIELD-SYMBOLS: <ls_field> LIKE LINE OF it_field,
                     <lg_dest>  TYPE any.
  
negative.code:       RETURN.
      ENDIF.
  
      lv_value = <ls_field>-value.
  
      IF iv_decode = abap_true.
  * URL decode, not sure why some are decoded automatically
        REPLACE ALL OCCURRENCES OF '%3d' IN lv_value WITH '='.
      ENDIF.
  
      CASE cl_abap_typedescr=>describe_by_data( cg_field )->kind.
        WHEN cl_abap_typedescr=>kind_elem.
          cg_field = lv_value.
        WHEN cl_abap_typedescr=>kind_struct.
          ASSIGN COMPONENT iv_name OF STRUCTURE cg_field TO <lg_dest>.
          ASSERT <lg_dest> IS ASSIGNED.
          <lg_dest> = lv_value.
        WHEN OTHERS.
          ASSERT 0 = 1.
      ENDCASE.
  