blob: 23ae8ebde2c8554d4a420565c7863b474baf1cfb [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 com.google.gitiles.templates.LogDetail}
import * as common from 'com/google/gitiles/templates/Common.soy';
import * as objDetail from 'com/google/gitiles/templates/ObjectDetail.soy';
/**
* Detail page showing a shortlog for a commit.
*/
{template logDetail stricthtml="false"}
{@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. */
{call common.header data="all" /}
{if $tags}
{for $tag in $tags}
{call objDetail.tagDetail data="$tag" /}
{/for}
{/if}
{call common.streamingPlaceholder /}
{call common.footer}
{param customVariant: $customVariant /}
{/call}
{/template}
/**
* Header for list of log entries.
*/
{template logEntriesHeader stricthtml="false"}
{@param? previousUrl: ?} /** URL for the previous page of results. */
{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.
*/
{template logEntryWrapper}
{@param variant: ?} /** variant name for log entry template. */
{@param entry: ?} /** log entry; see .logEntry. */
<li class="CommitLog-item CommitLog-item--{$variant}">
{delcall gitiles.logEntry variant="$variant ?: 'default'" data="$entry" /}
</li>
{/template}
/**
* Footer for the list of log entries.
*/
{template logEntriesFooter stricthtml="false"}
{@param? nextUrl: ?} /** URL for the next page of results. */
{@param? nextText: ?} /** text for next page link. */
</ol>
{if $nextUrl}
<nav class="LogNav">
<a class="LogNav-next" href="{$nextUrl}">{$nextText} &raquo;</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.
*/
{deltemplate gitiles.logEntry variant="'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.
*/
<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).
*/
{deltemplate gitiles.logEntry variant="'default'"}
{@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.
*/
{delcall gitiles.logEntry variant="'oneline'" data="all" /}
{/deltemplate}
/**
* Single pretty log entry, similar to --pretty=full.
*/
{deltemplate gitiles.logEntry variant="'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.
*/
<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 objDetail.person_ data="$author" /}
</td>
<td>{$author.time}</td>
</tr>
<tr>
<th class="Metadata-title">{msg desc="Header for committer"}committer{/msg}</th>
<td>
{call objDetail.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}