anchor.diff:  
     METHOD lookup.
       READ TABLE mt_stage INTO rs_stage
  -      WITH KEY file-path = iv_path file-filename = iv_filename.
  +      WITH KEY file-path = iv_path
  +      file-filename = iv_filename.
       IF sy-subrc <> 0.
         RAISE EXCEPTION TYPE lcx_not_found.
       ENDIF.
  +  ENDMETHOD.
  +
  +  METHOD get_all.
  +    rt_stage = mt_stage.
     ENDMETHOD.
   
     METHOD append.
  
positive.code:         IMPORTING iv_path         TYPE ty_file-path
                    iv_filename     TYPE ty_file-filename
          RETURNING VALUE(rs_stage) TYPE ty_stage
          RAISING   lcx_not_found.
  
    PRIVATE SECTION.
      DATA: mt_stage TYPE SORTED TABLE OF ty_stage
        WITH UNIQUE KEY file-path file-filename.
  
      METHODS: append
        IMPORTING is_file   TYPE ty_file
  
negative.code: * commit messages should be max 50 characters
  * body should wrap at 72 characters
  
      lo_html->add( lcl_gui=>header( ) ).
      lo_html->add( '<div id="header">' ).
      lo_html->add( '<h1>Commit</h1>' ).
      lo_html->add( '<a href="sapevent:cancel">Cancel</a>' ).
      lo_html->add( '</div>' ).
      lo_html->add( '<div id="toc">' ).
      lo_html->add( render_files( ) ).
      lo_html->add( '<form method="post" action="sapevent:post">' ).
      lo_html->add( '<table>' ).
      lo_html->add( '<tr>' ).
      lo_html->add( '<td>username</td>' ).
      lo_html->add( '<td>' ).
      lo_html->add( '<input name="username" type="text" value="' && lv_user && '">' ).
      lo_html->add( '</td>' ).
      lo_html->add( '</tr>' ).
      lo_html->add( '<tr>' ).
      lo_html->add( '<td>email</td>' ).
      lo_html->add( '<td>' ).
      lo_html->add( '<input name="email" type="text" value="' && lv_email && '">' ).
      lo_html->add( '</td>' ).
      lo_html->add( '</tr>' ).
      lo_html->add( '<tr>' ).
      lo_html->add( '<td>comment</td>' ).
      lo_html->add( '<td>' ).
      lo_html->add( '<input name="comment" type="text" id="cmt" maxlength="50" size="50">' ).
      lo_html->add( '</td>' ).
      lo_html->add( '</tr>' ).
      lo_html->add( '<tr>' ).
      lo_html->add( '<td colspan="2">' ).
      lo_html->add( 'body <br>' ).
      lo_html->add( '<textarea name="body" rows="10" cols="72"></textarea>' ).
      lo_html->add( '</td>' ).
      lo_html->add( '</tr>' ).
      lo_html->add( '<tr>' ).
      lo_html->add( '<td colspan="2" align="right">' ).
      lo_html->add( '<input type="submit" value="Push">' ).
      lo_html->add( '</td>' ).
      lo_html->add( '</tr>' ).
      lo_html->add( '</table>' ).
      lo_html->add( '</form>' ).
      lo_html->add( '<script>' ).
      lo_html->add( 'document.getElementById("cmt").focus();' ).
      lo_html->add( '</script>' ).
      lo_html->add( '</div>' ).
      lo_html->add( lcl_gui=>footer( ) ).
  
      rv_html = lo_html->mv_html.
  
    ENDMETHOD.
  
  