blob: c09c9f68fecdd607d1332204f25d8fe3d39be5aa [file] [log] [blame]
// Copyright 2012 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
{namespace gitiles}
/**
* Detail page showing a shortlog for a commit.
*
* @param title human-readable revision name.
* @param repositoryName name of this repository.
* @param? menuEntries menu entries.
* @param? customVariant variant name for custom styling.
* @param breadcrumbs breadcrumbs for this page.
* @param? tags optional list of tags encountered when peeling this object, with
* keys corresponding to gitiles.tagDetail.
*/
{template .logDetail stricthtml="false"}
{call .header data="all" /}
{if $tags}
{for $tag in $tags}
{call gitiles.tagDetail data="$tag" /}
{/for}
{/if}
{call .streamingPlaceholder /}
{call .footer}
{param customVariant: $customVariant /}
{/call}
{/template}
/**
* Header for list of log entries.
*
* @param? previousUrl URL for the previous page of results.
*/
{template .logEntriesHeader stricthtml="false"}
{if $previousUrl}
<nav class="LogNav">
<a class="LogNav-prev" href="{$previousUrl}">{msg desc="text for previous URL"}&laquo; Previous{/msg}</a>
</nav>
{/if}
<ol class="CommitLog">
{/template}
/**
* Wrapper for a single log entry with pretty format and variant.
*
* @param variant variant name for log entry template.
* @param entry log entry; see .logEntry.
*/
{template .logEntryWrapper}
<li class="CommitLog-item CommitLog-item--{$variant}">
{delcall gitiles.logEntry variant="$variant ?: 'default'" data="$entry" /}
</li>
{/template}
/**
* Footer for the list of log entries.
*
* @param? nextUrl URL for the next page of results.
*/
{template .logEntriesFooter stricthtml="false"}
</ol>
{if $nextUrl}
<nav class="LogNav">
<a class="LogNav-next" href="{$nextUrl}">{msg desc="text for next URL"}Next &raquo;{/msg}</a>
</nav>
{/if}
{/template}
/**
* Single log entry indicating the full log is empty.
*/
{template .emptyLog}
<li class="CommitLog-item CommitLog-item--empty">{msg desc="informational text for when the log is empty"}No commits.{/msg}</li>
{/template}
/**
* Single pretty log entry, similar to --pretty=oneline.
*
* @param abbrevSha abbreviated SHA-1.
* @param sha commit SHA-1.
* @param url URL to commit detail page.
* @param shortMessage short commit message.
* @param message list of commit message parts, where each part contains:
* text: raw text of the part.
* url: optional URL that should be linked to from the part.
* @param author author information with at least "name" and "relativeTime" keys.
* @param committer committer information with at least "time" and "relativeTime" keys.
* @param branches list of branches for this entry, with "name" and "url" keys.
* @param tags list of tags for this entry, with "name" and "url" keys.
* @param diffTree unused in this variant.
* @param rename if this entry was a rename or a copy of the path, an object containg:
* changeType: the change type, "RENAME" or "COPY".
* oldPath: the old path prior to the rename or copy.
* newPath: the new path after the rename or copy.
* score: the similarity score of the rename or copy.
*/
{deltemplate gitiles.logEntry variant="'oneline'"}
<a class="u-sha1 u-monospace CommitLog-sha1" href="{$url}">{$abbrevSha}</a>
{sp}<a href="{$url}">{$shortMessage}</a>
{sp}<span class="CommitLog-author" title="{$author.email}">{msg desc="commit author name"}by {$author.name}{/msg}</span>
{sp}<span class="CommitLog-time" title="{$author.time}">ยท {$author.relativeTime}</span>
{if length($branches)}
{for $branch in $branches}
{sp}<a class="CommitLog-branchLabel" href="{$branch.url}">{$branch.name}</a>
{/for}
{/if}
{if length($tags)}
{for $tag in $tags}
{sp}<a class="CommitLog-tagLabel" href="{$tag.url}">{$tag.name}</a>
{/for}
{/if}
{if $rename}
<span class="CommitLog-rename">
[
{switch $rename.changeType}
{case 'RENAME'}
Renamed
{case 'COPY'}
Copied
{/switch}
{if $rename.score != 100}
{sp}({$rename.score}%)
{/if}
{sp}from {$rename.oldPath}]
</span>
{/if}
{/deltemplate}
/**
* Default single log entry (oneline format).
*
* @param abbrevSha abbreviated SHA-1.
* @param sha commit SHA-1.
* @param url URL to commit detail page.
* @param shortMessage short commit message.
* @param message list of commit message parts, where each part contains:
* text: raw text of the part.
* url: optional URL that should be linked to from the part.
* @param author author information with at least "name" and "relativeTime" keys.
* @param committer committer information with at least "time" and "relativeTime" keys.
* @param branches list of branches for this entry, with "name" and "url" keys.
* @param tags list of tags for this entry, with "name" and "url" keys.
* @param diffTree unused in this variant.
* @param rename if this entry was a rename or a copy of the path, an object containg:
* changeType: the change type, "RENAME" or "COPY".
* oldPath: the old path prior to the rename or copy.
* newPath: the new path after the rename or copy.
* score: the similarity score of the rename or copy.
*/
{deltemplate gitiles.logEntry variant="'default'"}
{delcall gitiles.logEntry variant="'oneline'" data="all" /}
{/deltemplate}
/**
* Single pretty log entry, similar to --pretty=full.
*
* @param abbrevSha abbreviated SHA-1.
* @param sha commit SHA-1.
* @param url URL to commit detail page.
* @param shortMessage short commit message.
* @param message list of commit message parts, where each part contains:
* text: raw text of the part.
* url: optional URL that should be linked to from the part.
* @param author author information with at least "name" and "relativeTime" keys.
* @param committer committer information with at least "time" and "relativeTime" keys.
* @param branches list of branches for this entry, with "name" and "url" keys.
* @param tags list of tags for this entry, with "name" and "url" keys.
* @param diffTree unused in this variant.
* @param rename if this entry was a rename or a copy of the path, an object containg:
* changeType: the change type, "RENAME" or "COPY".
* oldPath: the old path prior to the rename or copy.
* newPath: the new path after the rename or copy.
* score: the similarity score of the rename or copy.
*/
{deltemplate gitiles.logEntry variant="'full'"}
<div class="u-monospace Metadata">
<table>
<tr>
<th class="Metadata-title">{msg desc="Header for commit SHA entry"}commit{/msg}</th>
<td class="sha1">
<a href="{$url}">{$sha}</a>
</td>
<td>
{if length($branches)}
{for $branch in $branches}
{sp}<a href="{$branch.url}" class="branch-label">{$branch.name}</a>
{/for}
{/if}
{if length($tags)}
{for $tag in $tags}
{sp}<a href="{$tag.url}" class="tag-label">{$tag.name}</a>
{/for}
{else}
{sp}
{/if}
</td>
</tr>
<tr>
<th class="Metadata-title">{msg desc="Header for commit author"}author{/msg}</th>
<td>{call .person_ data="$author" /}</td>
<td>{$author.time}</td>
</tr>
<tr>
<th class="Metadata-title">{msg desc="Header for committer"}committer{/msg}</th>
<td>{call .person_ data="$committer" /}</td>
<td>{$committer.time}</td>
</tr>
{if $rename}
<tr>
<td colspan="3">
<span class="CommitLog-rename">
[
{switch $rename.changeType}
{case 'RENAME'}
Renamed
{case 'COPY'}
Copied
{/switch}
{if $rename.score != 100}
{sp}({$rename.score}%)
{/if}
{sp}from {$rename.oldPath}]
</span>
</td>
</tr>
{/if}
</table>
</div>
<pre class="u-pre u-monospace MetadataMessage">
{$message}
</pre>
{/deltemplate}