anchor.diff:  *----------------------------------------------------------------------*
   CLASS lcl_git_pack IMPLEMENTATION.
   
  +  METHOD sort_tree.
  +
  +    TYPES: BEGIN OF ty_sort,
  +             sort TYPE string,
  +             node TYPE ty_node,
  +           END OF ty_sort.
  +
  +    DATA: lt_sort TYPE STANDARD TABLE OF ty_sort WITH DEFAULT KEY.
  +
  +    FIELD-SYMBOLS: <ls_sort> LIKE LINE OF lt_sort,
  +                   <ls_node> LIKE LINE OF it_nodes.
  +
  +
  +    LOOP AT it_nodes ASSIGNING <ls_node>.
  +      APPEND INITIAL LINE TO lt_sort ASSIGNING <ls_sort>.
  +      IF <ls_node>-chmod = gc_chmod-dir.
  +        CONCATENATE <ls_node>-name '/' INTO <ls_sort>-sort.
  +      ELSE.
  +        <ls_sort>-sort = <ls_node>-name.
  +      ENDIF.
  +      <ls_sort>-node = <ls_node>.
  +    ENDLOOP.
  +
  +* following has to be done, or unpack will fail on server side
  +    SORT lt_sort BY sort ASCENDING.
  +
  +    LOOP AT lt_sort ASSIGNING <ls_sort>.
  +      APPEND <ls_sort>-node TO rt_nodes.
  +    ENDLOOP.
  +
  +  ENDMETHOD.
  +
     METHOD type_and_length.
   
       DATA: lv_bits   TYPE string,
  
positive.code: 
    METHOD render.
      DATA:
            lv_class TYPE string,
            lv_last  TYPE abap_bool.
  
      FIELD-SYMBOLS <ls_item> LIKE LINE OF mt_items.
  
  
negative.code:                  update TYPE c LENGTH 1 VALUE 'U',
                 END OF c_diff.
  
      TYPES: BEGIN OF ty_diff,
               local_line  TYPE c LENGTH 6,
               local       TYPE string,
               result      TYPE c LENGTH 1,
               remote_line TYPE c LENGTH 6,
               remote      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,
  