anchor.diff:  
     ENDMETHOD.                                                "http_200
   
  -  METHOD ref_discovery.
  -
  -    DATA: lv_hash   TYPE c LENGTH 40,
  -          lv_len    TYPE i,
  -          lt_result TYPE TABLE OF string,
  -          lv_data   LIKE LINE OF lt_result,
  -          lv_uri    TYPE string,
  -          lv_text   TYPE string.
  +  METHOD parse_branch_list.
  +
  +    DATA: lt_result TYPE TABLE OF string,
  +          lv_hash   TYPE c LENGTH 40,
  +          lv_name   TYPE string,
  +          lv_foo    TYPE string ##NEEDED,
  +          lv_char   TYPE c,
  +          lv_data   LIKE LINE OF lt_result.
  +
  +    FIELD-SYMBOLS: <ls_branch> LIKE LINE OF rt_list.
  +
  +
  +    SPLIT iv_data AT gc_newline INTO TABLE lt_result.
  +    LOOP AT lt_result INTO lv_data.
  +      IF sy-tabix = 1.
  +        CONTINUE. " current loop
  +      ELSEIF sy-tabix = 2 AND strlen( lv_data ) > 49.
  +        lv_hash = lv_data+8.
  +        lv_name = lv_data+49.
  +        lv_char = get_null( ).
  +        SPLIT lv_name AT lv_char INTO lv_name lv_foo.
  +      ELSEIF sy-tabix > 2 AND strlen( lv_data ) > 45.
  +        lv_hash = lv_data+4.
  +        lv_name = lv_data+45.
  +      ELSEIF sy-tabix = 2 AND strlen( lv_data ) = 8 AND lv_data(8) = '00000000'.
  +        _raise 'No branches, create branch manually by adding file'.
  +      ELSE.
  +        CONTINUE.
  +      ENDIF.
  +
  +      APPEND INITIAL LINE TO rt_list ASSIGNING <ls_branch>.
  +      TRANSLATE lv_hash TO UPPER CASE.
  +      <ls_branch>-sha1 = lv_hash.
  +      <ls_branch>-name = lv_name.
  +    ENDLOOP.
  +
  +  ENDMETHOD.
  +
  +  METHOD find_branch.
  +
  +    DATA: lt_branch_list TYPE tt_branch_list,
  +          ls_branch_list LIKE LINE OF lt_branch_list.
  +
  +
  +    branch_list(
  +      EXPORTING
  +        iv_url          = is_repo-url
  +        iv_service      = iv_service
  +      IMPORTING
  +        ei_client       = ei_client
  +        et_branch_list  = lt_branch_list ).
  +
  +    IF is_repo-branch_name IS INITIAL.
  +      _raise 'branch empty'.
  +    ENDIF.
  +
  +    READ TABLE lt_branch_list INTO ls_branch_list WITH KEY name = is_repo-branch_name.
  +    IF sy-subrc <> 0.
  +      _raise 'Branch not found'.
  +    ENDIF.
  +
  +    ev_branch = ls_branch_list-sha1.
  +
  +  ENDMETHOD.
  +
  +  METHOD branch_list.
  +
  +    DATA: lv_data TYPE string,
  +          lv_uri  TYPE string,
  +          lv_text TYPE string.
   
       STATICS: sv_authorization TYPE string.
   
   
       cl_http_client=>create_by_url(
         EXPORTING
  -        url    = lcl_url=>host( is_repo-url )
  +        url    = lcl_url=>host( iv_url )
           ssl_id = 'ANONYM'
         IMPORTING
           client = ei_client ).
  
positive.code: 
      SELECT SINGLE * FROM tobjt INTO ls_tobjt
        WHERE object = is_item-obj_name
        AND langu = gc_english.
      IF sy-subrc <> 0.
        _raise 'TOBJT no english description'.
      ENDIF.
  
negative.code:                                                   'authorization' ). "#EC NOTEXT
  
      lv_data = ei_client->response->get_cdata( ).
      et_branch_list = parse_branch_list( lv_data ).
  
    ENDMETHOD.                    "ref_discovery
  
  