anchor.diff:        CHANGING  cv_data   TYPE xstring.
   
   ENDCLASS.                    "lcl_pack DEFINITION
  -
  -*----------------------------------------------------------------------*
  -*       CLASS lcl_debug DEFINITION
  -*----------------------------------------------------------------------*
  -*
  -*----------------------------------------------------------------------*
  -CLASS lcl_debug DEFINITION FINAL.
  -
  -  PUBLIC SECTION.
  -    CLASS-METHODS debug_toggle
  -      RAISING lcx_exception.
  -
  -    CLASS-METHODS render_objects
  -      IMPORTING iv_message TYPE string
  -                it_objects TYPE lcl_git_pack=>ty_objects_tt.
  -
  -    CLASS-METHODS message
  -      IMPORTING iv_message TYPE string.
  -
  -    CLASS-METHODS get_html
  -      RETURNING VALUE(rv_html) TYPE string.
  -
  -    CLASS-METHODS get_debug
  -      RETURNING VALUE(rv_debug) TYPE sap_bool.
  -
  -    CLASS-METHODS clear.
  -
  -  PRIVATE SECTION.
  -    CLASS-DATA: gv_debug TYPE sap_bool VALUE abap_false,
  -                gv_html  TYPE string.
  -
  -ENDCLASS.                    "lcl_debug DEFINITION
  -
  -*----------------------------------------------------------------------*
  -*       CLASS lcl_debug IMPLEMENTATION
  -*----------------------------------------------------------------------*
  -*
  -*----------------------------------------------------------------------*
  -CLASS lcl_debug IMPLEMENTATION.
  -
  -  METHOD get_debug.
  -    rv_debug = gv_debug.
  -  ENDMETHOD.                    "get_debug
  -
  -  METHOD get_html.
  -    rv_html = gv_html.
  -  ENDMETHOD.                    "get_html
  -
  -  METHOD message.
  -
  -    IF gv_debug = abap_false.
  -      RETURN.
  -    ENDIF.
  -
  -    CONCATENATE gv_html '<br>' iv_message '<br>' INTO gv_html.
  -
  -  ENDMETHOD.                    "message
  -
  -  METHOD render_objects.
  -
  -    DATA: lv_len    TYPE i,
  -          lv_text50 TYPE c LENGTH 50.
  -
  -    FIELD-SYMBOLS: <ls_object> LIKE LINE OF it_objects.
  -
  -
  -    IF gv_debug = abap_false.
  -      RETURN.
  -    ENDIF.
  -
  -    message( iv_message ).
  -
  -    CONCATENATE gv_html '<table border="1">' gc_newline INTO gv_html.
  -    LOOP AT it_objects ASSIGNING <ls_object>.
  -
  -      lv_len = xstrlen( <ls_object>-data ).
  -      IF lv_len > 50.
  -        lv_len = 50.
  -      ENDIF.
  -
  -      lv_text50 = <ls_object>-data(lv_len).
  -      CONCATENATE gv_html
  -        '<tr>' gc_newline
  -        '<td>' <ls_object>-sha1 '</td>' gc_newline
  -        '<td>' <ls_object>-type '</td>' gc_newline
  -        '<td>' lv_text50 '</td>' gc_newline
  -        '</tr>' gc_newline INTO gv_html.
  -    ENDLOOP.
  -    CONCATENATE gv_html '</table>' gc_newline INTO gv_html.
  -
  -  ENDMETHOD.                    "render_objects
  -
  -  METHOD clear.
  -
  -    gv_html = '<h2>Debug Information</h2><br>'.
  -
  -  ENDMETHOD.                    "clear
  -
  -  METHOD debug_toggle.
  -
  -    CASE gv_debug.
  -      WHEN abap_true.
  -        gv_debug = abap_false.
  -        MESSAGE 'Debug mode disabled' TYPE 'S'.             "#EC NOTEXT
  -      WHEN abap_false.
  -        gv_debug = abap_true.
  -        MESSAGE 'Debug mode enabled' TYPE 'S'.              "#EC NOTEXT
  -        clear( ).
  -      WHEN OTHERS.
  -        _raise 'Unknown debug toggle'.
  -    ENDCASE.
  -
  -  ENDMETHOD.                    "debug_toggle
  -
  -ENDCLASS.                    "lcl_debug IMPLEMENTATION
   
   *----------------------------------------------------------------------*
   *       CLASS lcl_objects_common DEFINITION
  
positive.code: 
      rv_branch = lcl_hash=>sha1( iv_type = gc_type-commit iv_data = lv_commit ).
      lcl_git_transport=>receive_pack( io_repo   = io_repo
                                   iv_commit = rv_branch
                                   iv_pack   = lv_pack ).
  
    ENDMETHOD.                    "receive_pack
  
  
negative.code: 
  TYPES: ty_string_tt TYPE STANDARD TABLE OF string WITH DEFAULT KEY.
  
  TYPES: BEGIN OF ty_comment,
           username TYPE string,
           email    TYPE string,
           comment  TYPE string,
         END OF ty_comment.
  
  TYPES: BEGIN OF ty_item,
           obj_type TYPE tadir-object,
           obj_name TYPE tadir-obj_name,
  