anchor.diff:              io_dot  = io_repo->get_dot_abapgit( )
               iv_path = <ls_result>-path ).
   
  +          check_main_package(
  +            iv_package  = lv_package
  +            iv_obj_type = ls_item-obj_type ).
  +
             IF ls_item-obj_type = 'DEVC'.
               " Packages have the same filename across different folders. The path needs to be supplied
               " to find the correct file.
  
positive.code:     CLASS-METHODS get_deserialize_steps
        RETURNING
          VALUE(rt_steps) TYPE zif_abapgit_objects=>ty_step_data_tt .
  ENDCLASS.
  
  
  
  CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
  
  
    METHOD adjust_namespaces.
  
negative.code:       CONCATENATE LINES OF lt_duplicates INTO lv_all_duplicates SEPARATED BY `, `.
        zcx_abapgit_exception=>raise( |Duplicates: { lv_all_duplicates }| ).
      ENDIF.
  
    ENDMETHOD.
  
  
    METHOD check_main_package.
  
      " check package restrictions, closed package, descriptive or
      " functional package
      cl_pak_object_types=>check_object_type(
        EXPORTING
          i_working_mode         = 'I'
          i_package_name         = iv_package
          i_pgmid                = 'R3TR'
          i_object_type          = iv_obj_type
        EXCEPTIONS
          wrong_object_type      = 1
          package_not_extensible = 2
          package_not_loaded     = 3
          OTHERS                 = 4 ).
      CASE sy-subrc.
        WHEN 0.
          RETURN.
        WHEN 2.
          zcx_abapgit_exception=>raise( |Object type { iv_obj_type } not allowed for package { iv_package }| ).
        WHEN OTHERS.
          zcx_abapgit_exception=>raise_t100(  ).
      ENDCASE.
  
    ENDMETHOD.
  
  