anchor.diff:  
     ENDMETHOD.
   
  +
  +  METHOD zif_abapgit_object~changed_by.
  +
  +    rv_user = zcl_abapgit_factory=>get_longtexts( )->changed_by(
  +      iv_object_name = mv_doc_object
  +      iv_longtext_id = c_id ).
  +
  +  ENDMETHOD.
  +
  +
  +  METHOD zif_abapgit_object~delete.
  +
  +    zcl_abapgit_factory=>get_longtexts( )->delete(
  +      iv_object_name = mv_doc_object
  +      iv_longtext_id = c_id ).
  +
  +  ENDMETHOD.
  +
  +
  +  METHOD zif_abapgit_object~deserialize.
  +
  +    DATA: ls_metadata TYPE zif_abapgit_definitions=>ty_metadata.
  +
  +    ls_metadata = io_xml->get_metadata( ).
  +
  +    CASE ls_metadata-version.
  +
  +      WHEN 'v1.0.0'.
  +        deserialize_dsys( io_xml ).
  +
  +      WHEN 'v2.0.0'.
  +        zcl_abapgit_factory=>get_longtexts( )->deserialize(
  +          io_xml             = io_xml
  +          iv_master_language = mv_language ).
  +
  +      WHEN OTHERS.
  +        zcx_abapgit_exception=>raise( 'unsupported DSYS version' ).
  +
  +    ENDCASE.
  +
  +    tadir_insert( iv_package ).
  +
  +  ENDMETHOD.
  +
  +
  +  METHOD zif_abapgit_object~exists.
  +
  +    DATA: lv_count TYPE i.
  +
  +    SELECT SINGLE COUNT( * ) FROM dokil INTO lv_count
  +           WHERE id   = c_id
  +           AND object = mv_doc_object.                  "#EC CI_GENBUFF
  +
  +    rv_bool = boolc( lv_count > 0 ).
  +
  +  ENDMETHOD.
  +
  +
  +  METHOD zif_abapgit_object~get_comparator.
  +    RETURN.
  +  ENDMETHOD.
  +
  +
  +  METHOD zif_abapgit_object~get_deserialize_steps.
  +    APPEND zif_abapgit_object=>gc_step_id-abap TO rt_steps.
  +  ENDMETHOD.
  +
  +
  +  METHOD zif_abapgit_object~get_metadata.
  +    rs_metadata = get_metadata( ).
  +    rs_metadata-delete_tadir = abap_true.
  +    rs_metadata-version = 'v2.0.0'.
  +  ENDMETHOD.
  +
  +
  +  METHOD zif_abapgit_object~is_active.
  +    rv_active = is_active( ).
  +  ENDMETHOD.
  +
  +
  +  METHOD zif_abapgit_object~is_locked.
  +    rv_is_locked = abap_false.
  +  ENDMETHOD.
  +
  +
  +  METHOD zif_abapgit_object~jump.
  +
  +    DATA lv_lang TYPE sy-langu.
  +
  +    lv_lang = get_master_lang( ).
  +
  +    CALL FUNCTION 'DSYS_EDIT'
  +      EXPORTING
  +        dokclass         = mv_doc_object+0(4)
  +        dokname          = mv_doc_object+4(*)
  +        doklangu         = lv_lang
  +      EXCEPTIONS
  +        class_unknown    = 1
  +        object_not_found = 2
  +        OTHERS           = 3.
  +
  +    IF sy-subrc <> 0.
  +      zcx_abapgit_exception=>raise( 'error from DSYS_EDIT' ).
  +    ENDIF.
  +
  +  ENDMETHOD.
  +
  +
  +  METHOD zif_abapgit_object~serialize.
  +
  +    io_xml->i18n_params( abap_false ).
  +
  +    zcl_abapgit_factory=>get_longtexts( )->serialize(
  +      iv_object_name = mv_doc_object
  +      iv_longtext_id = c_id
  +      io_xml         = io_xml ).
  +
  +  ENDMETHOD.
   ENDCLASS.
  
positive.code:         name_without_namespace = lv_bare_name.
  
      mv_doc_object = |{ lv_bare_name+0(4) }{ lv_prefix }{ lv_bare_name+4(*) }|.
  
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~changed_by.
  
      rv_user = zcl_abapgit_factory=>get_longtexts( )->changed_by(
        iv_object_name = mv_doc_object
        iv_longtext_id = c_id ).
  
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~delete.
  
      zcl_abapgit_factory=>get_longtexts( )->delete(
        iv_object_name = mv_doc_object
        iv_longtext_id = c_id ).
  
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~deserialize.
  
      DATA: ls_metadata TYPE zif_abapgit_definitions=>ty_metadata.
  
      ls_metadata = io_xml->get_metadata( ).
  
      CASE ls_metadata-version.
  
        WHEN 'v1.0.0'.
          deserialize_dsys( io_xml ).
  
        WHEN 'v2.0.0'.
          zcl_abapgit_factory=>get_longtexts( )->deserialize(
            io_xml             = io_xml
            iv_master_language = mv_language ).
  
        WHEN OTHERS.
          zcx_abapgit_exception=>raise( 'unsupported DSYS version' ).
  
      ENDCASE.
  
      tadir_insert( iv_package ).
  
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~exists.
  
      DATA: lv_count TYPE i.
  
      SELECT SINGLE COUNT( * ) FROM dokil INTO lv_count
             WHERE id   = c_id
             AND object = mv_doc_object.                  "#EC CI_GENBUFF
  
      rv_bool = boolc( lv_count > 0 ).
  
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~get_comparator.
      RETURN.
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~get_deserialize_steps.
      APPEND zif_abapgit_object=>gc_step_id-abap TO rt_steps.
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~get_metadata.
      rs_metadata = get_metadata( ).
      rs_metadata-delete_tadir = abap_true.
      rs_metadata-version = 'v2.0.0'.
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~is_active.
      rv_active = is_active( ).
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~is_locked.
      rv_is_locked = abap_false.
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~jump.
  
      CALL FUNCTION 'DSYS_EDIT'
        EXPORTING
          dokclass         = mv_doc_object+0(4)
          dokname          = mv_doc_object+4(*)
          doklangu         = get_master_lang( )
        EXCEPTIONS
          class_unknown    = 1
          object_not_found = 2
          OTHERS           = 3.
  
      IF sy-subrc <> 0.
        zcx_abapgit_exception=>raise( 'error from DSYS_EDIT' ).
      ENDIF.
  
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~serialize.
  
      io_xml->i18n_params( abap_false ).
  
      zcl_abapgit_factory=>get_longtexts( )->serialize(
        iv_object_name = mv_doc_object
        iv_longtext_id = c_id
        io_xml         = io_xml ).
  
    ENDMETHOD.
  
  
negative.code: 
  
  
  CLASS ZCL_ABAPGIT_OBJECT_DSYS IMPLEMENTATION.
  
  
    METHOD constructor.
  