[# setup page definitions]
  [define page_title]Diff of /[where][end]
  [define help_href][docroot]/help_rootview.html[end]
[# end]

[include "include/header.ezt" "diff"]
[include "include/file_header.ezt"]

<h3 style="text-align:center;"></h3>

[if-any raw_diff]
  <pre class="vc_raw_diff">[raw_diff]</pre>
[end]

[if-any changes]
<table cellspacing="0" cellpadding="0">
  <tr class="vc_diff_header">
    <th style="width:6%;"></th>
    <th style="width:47%; vertical-align:top;">
      [is path_left path_right][else][path_left][end]
      revision [rev_left], [date_left]
      [if-any tag_left]<br />Tag: [tag_left][end]
    </th>
    <th style="width:47%; vertical-align:top;">
      [is path_left path_right][else][path_right][end]
      revision [rev_right], [date_right]
      [if-any tag_right]<br />Tag: [tag_right][end]
    </th>
  </tr>

  [for changes]
    [is changes.type "header"]
      <tr class="vc_diff_chunk_header" id="h[changes.line_info_right]">
        <td style="width:6%;"><strong>#</strong></td>
        <td style="width:47%;">
          <strong>Line [changes.line_info_left]</strong>&nbsp;
          <span class="vc_diff_chunk_extra">[changes.line_info_extra]</span>
        </td>
        <td style="width:47%;">
          <strong>Line [changes.line_info_right]</strong>&nbsp;
          <span class="vc_diff_chunk_extra">[changes.line_info_extra]</span>
        </td>
      </tr>
    [else]
      [is changes.type "add"]
        <tr>
          <td id="l[changes.line_number]">[if-any annotate_href]<a href="[annotate_href]#l[changes.line_number]">[changes.line_number]</a>[else][changes.line_number][end]</td>
          <td class="vc_diff_empty">&nbsp;</td>
          <td class="vc_diff_add">&nbsp;[changes.right]</td>
        </tr>
      [else]
        [is changes.type "remove"]
          <tr>
            <td></td>
            <td class="vc_diff_remove">&nbsp;[changes.left]</td>
            <td class="vc_diff_empty">&nbsp;</td>
          </tr>
        [else]
          [is changes.type "change"]
            <tr>
              [if-any changes.have_right]
                <td id="l[changes.line_number]">[if-any annotate_href]<a href="[annotate_href]#l[changes.line_number]">[changes.line_number]</a>[else][changes.line_number][end]</td>
              [else]
                <td></td>
              [end]
              [if-any changes.have_left]
                <td class="vc_diff_change">&nbsp;[changes.left]</td>
              [else]
                <td class="vc_diff_change_empty">&nbsp;</td>
              [end]
              [if-any changes.have_right]
                <td class="vc_diff_change">&nbsp;[changes.right]</td>
              [else]
                <td class="vc_diff_change_empty">&nbsp;</td>
              [end]
            </tr>
          [else]
            [is changes.type "no-changes"]
              <tr>
                <td colspan="3">&nbsp;</td>
              </tr>
              <tr class="vc_diff_empty">
                <td colspan="3" style="text-align:center;"><br />
                <strong>- No changes -</strong><br />&nbsp; </td>
              </tr>
            [else]
              [is changes.type "binary-diff"]
                <tr>
                  <td colspan="3">&nbsp;</td>
                </tr>
                <tr class="vc_diff_empty">
                  <td colspan="3" style="text-align:center;"><br />
                  <strong>- Binary file revisions differ -</strong><br />&nbsp; </td>
                </tr>
              [else]
                [is changes.type "error"]
                  <tr>
                    <td colspan="3">&nbsp;</td>
                  </tr>
                  <tr class="vc_diff_empty">
                    <td colspan="3" style="text-align:center;"> <br />
                    <strong>- ViewVC depends on rcsdiff and GNU diff to create 
                    this page.  ViewVC cannot find GNU diff. Even if you 
                    have GNU diff installed, the rcsdiff program must be 
                    configured and compiled with the GNU diff location.
                    -</strong> <br />&nbsp; </td>
                  </tr>
                [else]
                  <tr>
                    <td id="l[changes.line_number]">[if-any annotate_href]<a href="[annotate_href]#l[changes.line_number]">[changes.line_number]</a>[else][changes.line_number][end]</td>
                    <td class="vc_diff_nochange">&nbsp;[changes.left]</td>
                    <td class="vc_diff_nochange">&nbsp;[changes.right]</td>
                  </tr>
                [end]
              [end]
            [end]
          [end]
        [end]
      [end]
    [end]
  [end]
</table>
[end]

[if-any sidebyside]
  <table class="vc_idiff">
    <colgroup><col /><col class="content" /></colgroup>
    <colgroup><col /><col class="content" /></colgroup>
    <thead>
      <tr>
        <th colspan="2">    
          [is path_left path_right][else][path_left][end]
          Revision [rev_left]
        </th>
        <th colspan="2">
          [is path_left path_right][else][path_right][end]
          Revision [rev_right]
        </th>
      </tr>
    </thead>
    <tbody>
      [for sidebyside]
        [if-any sidebyside.gap]
          <tr>
            <th>&hellip;</th><th></th>
            <th>&hellip;</th><th></th>
          </tr>
        [end]
        <tr>
          [for sidebyside.columns]
            <th>[sidebyside.columns.line_number]</th><td[if-any sidebyside.columns.line_number][else] class="vc_idiff_empty"[end]>[for sidebyside.columns.segments][if-any sidebyside.columns.segments.type]<span class="vc_idiff_[sidebyside.columns.segments.type]">[sidebyside.columns.segments.text]</span>[else][sidebyside.columns.segments.text][end][end]</td>
          [end]
        </tr>
      [end]
    </tbody>
  </table>
[end]

[if-any unified]
  <table class="vc_idiff">
    <thead>
      <tr>
        <th>r[rev_left]</th>
        <th>r[rev_right]</th>
        <th></th>
      </tr>
    </thead>
    <tbody>
      [for unified]
        [if-any unified.gap]
          <tr>
            <th>&hellip;</th>
            <th>&hellip;</th>
            <th></th>
          </tr>
        [end]
        <tr>
          <th>[unified.left_number]</th>
          <th>[unified.right_number]</th>
          <td[if-any unified.type] class="vc_idiff_[unified.type]"[end]>[for unified.segments][if-any unified.segments.type]<span class="vc_idiff_[unified.segments.type]">[unified.segments.text]</span>[else][unified.segments.text][end][end]</td>
        </tr>
      [end]
    </tbody>
  </table>
[end]

<hr style="margin-top:1em;" />

<table cellpadding="10" class="auto">
  <tr>
    <td>
      <form method="get" action="[diff_format_action]">
        <div>
          [diff_format_hidden_values]
          <select name="diff_format" onchange="submit()">
            <option value="h" [is diff_format "h"]selected="selected"[end]>Colored Diff</option>
            <option value="l" [is diff_format "l"]selected="selected"[end]>Long Colored Diff</option>
            <option value="u" [is diff_format "u"]selected="selected"[end]>Unidiff</option>
            <option value="c" [is diff_format "c"]selected="selected"[end]>Context Diff</option>
            <option value="s" [is diff_format "s"]selected="selected"[end]>Side by Side</option>
          </select>
          <input type="submit" value="Show" />
          </div>
      </form>
    </td>
    <td>
[if-any raw_diff]
      &nbsp;
[else]
      <table style="border:solid gray 1px;" class="auto">
        <tr>
          <td>Legend:<br />
            <table cellspacing="0" cellpadding="1">
              <tr>
                <td style="text-align:center;" class="vc_diff_remove">Removed from v.[rev_left]</td>
                <td class="vc_diff_empty">&nbsp;</td>
              </tr>
              <tr>
                <td style="text-align:center;" colspan="2" class="vc_diff_change">changed lines</td>
              </tr>
              <tr>
                <td class="vc_diff_empty">&nbsp;</td>
                <td style="text-align:center;" class="vc_diff_add">Added in v.[rev_right]</td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
[end]
    </td>
  </tr>
</table>

[include "include/footer.ezt"]
