anchor.diff:  * commit messages should be max 50 characters
   * body should wrap at 72 characters
   
  -    rv_html = lcl_gui=>header( )                    && gc_newline &&
  -      '<div id="header">'                           && gc_newline &&
  -      '<h1>Commit</h1>'                             && gc_newline &&
  -      '<a href="sapevent:cancel">Cancel</a>'        && gc_newline &&
  -      '</div>'                                      && gc_newline &&
  -      '<div id="toc">'                              && gc_newline &&
  -      '<form method="post" action="sapevent:post">' && gc_newline &&
  -      '<table>'                                     && gc_newline &&
  -      '<tr>'                                        && gc_newline &&
  -      '<td>username</td>'                           && gc_newline &&
  -      '<td>'                                        && gc_newline &&
  -      '<input name="username" type="text" value="' && lv_user && '">' &&
  -      '</td>'                                       && gc_newline &&
  -      '</tr>'                                       && gc_newline &&
  -      '<tr>'                                        && gc_newline &&
  -      '<td>email</td>'                              && gc_newline &&
  -      '<td>'                                        && gc_newline &&
  -      '<input name="email" type="text" value="' && lv_email && '">' &&
  -      '</td>'                                       && gc_newline &&
  -      '</tr>'                                       && gc_newline &&
  -      '<tr>'                                        && gc_newline &&
  -      '<td>comment</td>'                            && gc_newline &&
  -      '<td>'                                        && gc_newline &&
  -      '<input name="comment" type="text" id="comment" maxlength="50" size="50">' &&
  -      '</td>'                                       && gc_newline &&
  -      '</tr>'                                       && gc_newline &&
  -      '<tr>'                                        && gc_newline &&
  -      '<td colspan="2">'                            && gc_newline &&
  -      'body <br>'                                   && gc_newline &&
  -      '<textarea name="body" rows="10" cols="72"></textarea>' && gc_newline &&
  -      '</td>'                                       && gc_newline &&
  -      '</tr>'                                       && gc_newline &&
  -      '<tr>'                                        && gc_newline &&
  -      '<td colspan="2" align="right">'              && gc_newline &&
  -      '<input type="submit" value="Push">'          && gc_newline &&
  -      '</td>'                                       && gc_newline &&
  -      '</tr>'                                       && gc_newline &&
  -      '</table>'                                    && gc_newline &&
  -      '</form>'                                     && gc_newline &&
  -      '<script>'                                    && gc_newline &&
  -      'document.getElementById("comment").focus();' && gc_newline &&
  -      '</script>'                                   && gc_newline &&
  -      '</div>'                                      && gc_newline &&
  -      lcl_gui=>footer( ).
  +    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.
   
  
positive.code: 
      DATA: lo_user  TYPE REF TO lcl_persistence_user,
            lv_user  TYPE string,
            lv_email TYPE string.
  
  
      CREATE OBJECT lo_user.
      lv_user = lo_user->get_username( ).
  
negative.code: 
    METHOD lookup.
      READ TABLE mt_stage INTO rs_stage
        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.
  