anchor.diff:      END OF ty_git_tag .
     TYPES:
       ty_git_tag_list_tt TYPE STANDARD TABLE OF ty_git_tag WITH DEFAULT KEY .
  -
     TYPES:
       BEGIN OF ty_hotkey,
         sequence TYPE string,
         action   TYPE string,
  -    END OF ty_hotkey,
  +    END OF ty_hotkey .
  +  TYPES:
       tty_hotkey TYPE STANDARD TABLE OF ty_hotkey
  -                    WITH NON-UNIQUE DEFAULT KEY.
  -
  -  CONSTANTS:
  -    BEGIN OF c_git_branch_type,
  -      branch          TYPE ty_git_branch_type VALUE 'HD',
  -      lightweight_tag TYPE ty_git_branch_type VALUE 'TG',
  -      annotated_tag   TYPE ty_git_branch_type VALUE 'AT',
  -      other           TYPE ty_git_branch_type VALUE 'ZZ',
  -    END OF c_git_branch_type .
  -  CONSTANTS c_head_name TYPE string VALUE 'HEAD' ##NO_TEXT.
  -
  +                    WITH NON-UNIQUE DEFAULT KEY .
     TYPES:
       BEGIN OF ty_git_user,
         name  TYPE string,
  
positive.code:       cmpname   TYPE seocmpname,
        attkeyfld TYPE seokeyfld,
        attbusobj TYPE seobusobj,
      END OF ty_obj_attribute,
      ty_obj_attribute_tt TYPE STANDARD TABLE OF ty_obj_attribute WITH DEFAULT KEY
                               WITH NON-UNIQUE SORTED KEY cmpname COMPONENTS cmpname.
    TYPES:
      BEGIN OF ty_transport_to_branch,
        branch_name TYPE string,
        commit_text TYPE string,
      END OF ty_transport_to_branch .
  
    TYPES: BEGIN OF ty_create,
             name   TYPE string,
             parent TYPE string,
           END OF ty_create.
  
    TYPES: BEGIN OF ty_commit,
             sha1       TYPE ty_sha1,
             parent1    TYPE ty_sha1,
             parent2    TYPE ty_sha1,
             author     TYPE string,
             email      TYPE string,
             time       TYPE string,
             message    TYPE string,
             body       TYPE stringtab,
             branch     TYPE string,
             merge      TYPE string,
             tags       TYPE stringtab,
             create     TYPE STANDARD TABLE OF ty_create WITH DEFAULT KEY,
             compressed TYPE abap_bool,
           END OF ty_commit.
  
    TYPES: ty_commit_tt TYPE STANDARD TABLE OF ty_commit WITH DEFAULT KEY.
  
    CONSTANTS: BEGIN OF c_diff,
                 insert TYPE c LENGTH 1 VALUE 'I',
                 delete TYPE c LENGTH 1 VALUE 'D',
                 update TYPE c LENGTH 1 VALUE 'U',
               END OF c_diff.
  
    TYPES: BEGIN OF ty_diff,
             patch_flag TYPE abap_bool,
             new_num    TYPE c LENGTH 6,
             new        TYPE string,
             result     TYPE c LENGTH 1,
             old_num    TYPE c LENGTH 6,
             old        TYPE string,
             short      TYPE abap_bool,
             beacon     TYPE i,
           END OF ty_diff.
    TYPES:  ty_diffs_tt TYPE STANDARD TABLE OF ty_diff WITH DEFAULT KEY.
  
    TYPES: BEGIN OF ty_count,
             insert TYPE i,
             delete TYPE i,
             update TYPE i,
           END OF ty_count.
  
    TYPES:
      BEGIN OF ty_expanded,
        path  TYPE string,
  
negative.code:     END OF ty_expanded .
    TYPES:
      ty_expanded_tt TYPE STANDARD TABLE OF ty_expanded WITH DEFAULT KEY .
    TYPES:
      BEGIN OF ty_ancestor,
        commit TYPE ty_sha1,
        tree   TYPE ty_sha1,
        time   TYPE string,
        body   TYPE string,
      END OF ty_ancestor .
    TYPES:
      BEGIN OF ty_merge,
        repo     TYPE REF TO zcl_abapgit_repo_online,
        source   TYPE ty_git_branch,
        target   TYPE ty_git_branch,
        common   TYPE ty_ancestor,
        stree    TYPE ty_expanded_tt,
        ttree    TYPE ty_expanded_tt,
        ctree    TYPE ty_expanded_tt,
        result   TYPE ty_expanded_tt,
        stage    TYPE REF TO zcl_abapgit_stage,
        conflict TYPE string,
      END OF ty_merge .
    TYPES:
      BEGIN OF ty_merge_conflict,
        path        TYPE string,
        filename    TYPE string,
        source_sha1 TYPE zif_abapgit_definitions=>ty_sha1,
        source_data TYPE xstring,
        target_sha1 TYPE zif_abapgit_definitions=>ty_sha1,
        target_data TYPE xstring,
        result_sha1 TYPE zif_abapgit_definitions=>ty_sha1,
        result_data TYPE xstring,
      END OF ty_merge_conflict .
    TYPES:
      tt_merge_conflict TYPE STANDARD TABLE OF ty_merge_conflict WITH DEFAULT KEY .
    TYPES:
      BEGIN OF ty_repo_item,
        obj_type TYPE tadir-object,
        obj_name TYPE tadir-obj_name,
        inactive TYPE abap_bool,
        sortkey  TYPE i,
        path     TYPE string,
        is_dir   TYPE abap_bool,
        changes  TYPE i,
        lstate   TYPE char1,
        rstate   TYPE char1,
        files    TYPE tt_repo_files,
      END OF ty_repo_item .
    TYPES:
      tt_repo_items TYPE STANDARD TABLE OF ty_repo_item WITH DEFAULT KEY .
    TYPES:
      BEGIN OF ty_s_user_settings,
        max_lines                  TYPE i,
        adt_jump_enabled           TYPE abap_bool,
        show_default_repo          TYPE abap_bool,
        link_hints_enabled         TYPE abap_bool,
        link_hint_key              TYPE char01,
        link_hint_background_color TYPE string,
        hotkeys                    TYPE tty_hotkey,
      END OF ty_s_user_settings .
    TYPES:
      tty_dokil TYPE STANDARD TABLE OF dokil
                           WITH NON-UNIQUE DEFAULT KEY .
    TYPES:
      tty_lines TYPE STANDARD TABLE OF i
                          WITH NON-UNIQUE DEFAULT KEY .
  
    CONSTANTS:
      BEGIN OF c_git_branch_type,
        branch          TYPE ty_git_branch_type VALUE 'HD',
        lightweight_tag TYPE ty_git_branch_type VALUE 'TG',
        annotated_tag   TYPE ty_git_branch_type VALUE 'AT',
        other           TYPE ty_git_branch_type VALUE 'ZZ',
      END OF c_git_branch_type .
    CONSTANTS c_head_name TYPE string VALUE 'HEAD' ##NO_TEXT.
    CONSTANTS:
      BEGIN OF c_diff,
        insert TYPE c LENGTH 1 VALUE 'I',
        delete TYPE c LENGTH 1 VALUE 'D',
        update TYPE c LENGTH 1 VALUE 'U',
      END OF c_diff .
    CONSTANTS:
      BEGIN OF c_type,
        commit TYPE zif_abapgit_definitions=>ty_type VALUE 'commit', "#EC NOTEXT
  