anchor.diff:        WHERE pgmid = 'R3TR'
         AND object = is_item-obj_type
         AND obj_name LIKE lv_obj_name
  -      AND devclass = is_repo_persi-package.
  +      AND devclass = is_repo_persi-package.             "#EC CI_GENBUFF
       IF sy-subrc <> 0.
         _raise 'Object not found or in wrong package'.
       ENDIF.
  
positive.code:     RETURN.
    ENDIF.
  
    SELECT SINGLE ccnocliind FROM t000 INTO lv_ind WHERE mandt = sy-mandt.
    IF sy-subrc = 0 AND lv_ind <> ' ' AND lv_ind <> '1'. " check changes allowed
      WRITE: / 'Wrong client, changes to repository objects not allowed'. "#EC NOTEXT
      RETURN.
    ENDIF.
  
negative.code: 
    ENDMETHOD.                                                "http_200
  
    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( iv_url )
          ssl_id = 'ANONYM'
        IMPORTING
          client = ei_client ).
  