root/trac/templates/changeset.cs

リビジョン 287, 11.0 kB (コミッタ: anonymous, コミット時期: 4 年 前)

Added trac template files.

Line 
1 <?cs include "header.cs"?>
2 <?cs include "macros.cs"?>
3
4 <div id="ctxtnav" class="nav">
5  <h2>ナビゲーション</h2><?cs
6  with:links = chrome.links ?>
7   <ul><?cs
8    if:changeset.chgset ?><?cs
9     if:changeset.restricted ?><?cs
10      set:change = "更新" ?><?cs
11     else ?><?cs
12      set:change = "チェンジセット" ?><?cs
13     /if ?>
14     <li class="first"><?cs
15      if:len(links.prev) ?> &larr;
16       <a class="prev" href="<?cs var:links.prev.0.href ?>" title="<?cs
17        var:links.prev.0.title ?>">前の<?cs var:change ?></a> <?cs
18      else ?>
19       <span class="missing">&larr; 前の<?cs var:change ?></span><?cs
20      /if ?>
21     </li>
22     <li class="last"><?cs
23      if:len(links.next) ?>
24       <a class="next" href="<?cs var:links.next.0.href ?>" title="<?cs
25        var:links.next.0.title ?>">後の<?cs var:change ?></a> &rarr; <?cs
26      else ?>
27       <span class="missing">後の<?cs var:change ?> &rarr;</span><?cs
28      /if ?>
29     </li><?cs
30    else ?>
31     <li class="last"><a href="<?cs var:changeset.reverse_href ?>">Diff を反転</a></li><?cs
32    /if ?>
33   </ul><?cs
34  /with ?>
35 </div>
36
37 <div id="content" class="changeset">
38  <div id="title"><?cs
39   if:changeset.chgset ?><?cs
40    if:changeset.restricted ?>
41     <h1>チェンジセット <a title="チェンジセットを省略せずに表示" href="<?cs var:changeset.href.new_rev ?>">
42       <?cs var:changeset.new_rev ?></a>:
43      <a title="エントリを表示" href="<?cs var:changeset.href.new_path ?>">
44       <?cs var:changeset.new_path ?></a>
45     </h1><?cs
46    else ?>
47     <h1>チェンジセット <?cs var:changeset.new_rev ?></h1><?cs
48    /if ?><?cs
49   else ?><?cs
50     if:changeset.restricted ?>
51     <h1><a title="エントリを表示" href="<?cs var:changeset.href.new_path ?>">
52       <?cs var:changeset.new_path ?></a>
53       <a title="リビジョンログを表示" href="<?cs var:changeset.href.log ?>">
54       [<?cs var:changeset.old_rev ?>:<?cs var:changeset.new_rev ?>]</a> における更新
55     </h1><?cs
56    else ?>
57     <h1><a title="エントリを表示" href="<?cs var:changeset.href.old_path ?>">
58       <?cs var:changeset.old_path ?></a> :
59      <a title="チェンジセットを省略せずに表示" href="<?cs var:changeset.href.old_rev ?>">
60       r<?cs var:changeset.old_rev ?></a>
61      から <a title="エントリを表示" href="<?cs var:changeset.href.new_path ?>">
62      <?cs var:changeset.new_path ?></a> :
63      <a title="チェンジセットを省略せずに表示" href="<?cs var:changeset.href.new_rev ?>">
64       r<?cs var:changeset.new_rev ?></a> における更新
65     </h1><?cs
66    /if ?><?cs
67   /if ?>
68  </div>
69
70 <?cs each:change = changeset.changes ?><?cs
71  if:len(change.diff) ?><?cs
72   set:has_diffs = 1 ?><?cs
73  /if ?><?cs
74 /each ?><?cs if:has_diffs || diff.options.ignoreblanklines
75   || diff.options.ignorecase || diff.options.ignorewhitespace ?>
76 <form method="post" id="prefs" action="">
77  <div><?cs
78   if:!changeset.chgset ?>
79    <input type="hidden" name="old_path" value="<?cs var:changeset.old_path ?>" />
80    <input type="hidden" name="new_path" value="<?cs var:changeset.new_path ?>" />
81    <input type="hidden" name="old" value="<?cs var:changeset.old_rev ?>" />
82    <input type="hidden" name="new" value="<?cs var:changeset.new_rev ?>" /><?cs
83   /if ?>
84   <label for="style">diff の表示方法</label>
85   <select id="style" name="style">
86    <option value="inline"<?cs
87      if:diff.style == 'inline' ?> selected="selected"<?cs
88      /if ?>>インライン</option>
89    <option value="sidebyside"<?cs
90      if:diff.style == 'sidebyside' ?> selected="selected"<?cs
91      /if ?>>並べて表示</option>
92   </select>
93   <div class="field">
94    差分発生行の前後 <input type="text" name="contextlines" id="contextlines" size="2"
95      maxlength="3" value="<?cs var:diff.options.contextlines ?>" />
96    <label for="contextlines">行を表示</label>
97   </div>
98   <fieldset id="ignore">
99    <legend>無視リスト:</legend>
100    <div class="field">
101     <input type="checkbox" id="blanklines" name="ignoreblanklines"<?cs
102       if:diff.options.ignoreblanklines ?> checked="checked"<?cs /if ?> />
103     <label for="blanklines">空行</label>
104    </div>
105    <div class="field">
106     <input type="checkbox" id="case" name="ignorecase"<?cs
107       if:diff.options.ignorecase ?> checked="checked"<?cs /if ?> />
108     <label for="case">大文字小文字の変更</label>
109    </div>
110    <div class="field">
111     <input type="checkbox" id="whitespace" name="ignorewhitespace"<?cs
112       if:diff.options.ignorewhitespace ?> checked="checked"<?cs /if ?> />
113     <label for="whitespace">空白文字の変更</label>
114    </div>
115   </fieldset>
116   <div class="buttons">
117    <input type="submit" name="update" value="更新" />
118   </div>
119  </div>
120 </form><?cs /if ?>
121
122 <?cs def:node_change(item,cl,kind) ?><?cs
123   set:ndiffs = len(item.diff) ?><?cs
124   set:nprops = len(item.props) ?>
125   <div class="<?cs var:cl ?>"></div><?cs
126   if:cl == "rem" ?>
127    <a title="削除されたエントリを表示 (rev. <?cs var:item.rev.old ?>)" href="<?cs
128      var:item.browser_href.old ?>"><?cs var:item.path.old ?></a><?cs
129   else ?>
130    <a title="エントリを表示" href="<?cs
131      var:item.browser_href.new ?>"><?cs alt:item.path.new ?>(root)<?cs /alt?></a><?cs
132   /if ?>
133   <span class="comment">(<?cs var:kind ?>)</span><?cs
134   if:item.path.old && item.change == 'copy' || item.change == 'move' ?>
135    <small><em>(<a href="<?cs
136     var:item.browser_href.old ?>" title="元のエントリを表示 (rev. <?cs
137     var:item.rev.old ?>)"><?cs var:item.path.old ?></a> から <?cs var:kind ?>)</em></small><?cs
138   /if ?><?cs
139   if:item.diff_href ?>
140     (<a href="<?cs var:item.diff_href ?>" title="diffを表示">view diffs</a>)<?cs
141   elif:$ndiffs + $nprops > #0 ?>
142     (<a href="#file<?cs var:name(item) ?>" title="diffを表示"><?cs
143       if:$ndiffs > #0 ?><?cs var:ndiffs ?>&nbsp;diff<?cs if:$ndiffs > #1 ?>s<?cs /if ?><?cs
144       /if ?><?cs
145       if:$ndiffs && $nprops ?>, <?cs /if ?><?cs
146       if:$nprops > #0 ?><?cs var:nprops ?>&nbsp;prop<?cs if:$nprops > #1 ?>s<?cs /if ?><?cs
147       /if ?></a>)<?cs
148   elif:cl == "mod" ?>
149     (<a href="<?cs var:item.browser_href.old ?>"
150         title="変更前のエントリを表示">変更前</a>)<?cs
151   /if ?>
152 <?cs /def ?>
153
154 <dl id="overview"><?cs
155  if:changeset.chgset ?>
156  <dt class="property time">コミット日時:</dt>
157  <dd class="time"><?cs var:changeset.time ?>
158   (<?cs if:changeset.age ?><?cs var:changeset.age ?>前<?cs else ?>1時間以内<?cs /if ?>)</dd>
159  <dt class="property author">コミッタ:</dt>
160  <dd class="author"><?cs var:changeset.author ?></dd>
161  <?cs each:prop = changeset.properties ?>
162  <dt class="property <?cs var:prop.htmlclass ?>"><?cs var:prop.name ?>:</dt>
163  <dd class="<?cs var:prop.htmlclass ?>"><?cs var:prop.value ?></dd>
164  <?cs /each ?>
165  <dt class="property message">ログメッセージ:</dt>
166  <dd class="message" id="searchable"><?cs
167   alt:changeset.message ?>&nbsp;<?cs /alt ?></dd><?cs
168  /if ?>
169  <dt class="property files"><?cs
170   if:len(changeset.changes) > #0 ?>
171    ファイル:<?cs
172   else ?>
173    (変更ファイル無し)<?cs
174   /if ?>
175  </dt>
176  <dd class="files">
177   <ul><?cs each:item = changeset.changes ?>
178    <li><?cs
179     if:item.change == 'add' ?><?cs
180      call:node_change(item, 'add', '追加') ?><?cs
181     elif:item.change == 'delete' ?><?cs
182      call:node_change(item, 'rem', '削除') ?><?cs
183     elif:item.change == 'copy' ?><?cs
184      call:node_change(item, 'cp', 'コピー') ?><?cs
185     elif:item.change == 'move' ?><?cs
186      call:node_change(item, 'mv', '移動') ?><?cs
187     elif:item.change == 'edit' ?><?cs
188      call:node_change(item, 'mod', '更新') ?><?cs
189     /if ?>
190    </li>
191   <?cs /each ?></ul>
192  </dd>
193 </dl>
194
195 <div class="diff">
196  <div id="legend">
197   <h3>凡例:</h3>
198   <dl>
199    <dt class="unmod"></dt><dd>変更無し</dd>
200    <dt class="add"></dt><dd>追加</dd>
201    <dt class="rem"></dt><dd>削除</dd>
202    <dt class="mod"></dt><dd>更新</dd>
203    <dt class="cp"></dt><dd>コピー</dd>
204    <dt class="mv"></dt><dd>移動</dd>
205   </dl>
206  </div>
207  <ul class="entries"><?cs
208  each:item = changeset.changes ?><?cs
209   if:len(item.diff) || len(item.props) ?><li class="entry" id="file<?cs
210    var:name(item) ?>"><h2><a href="<?cs
211    var:item.browser_href.new ?>" title="このリビジョン <?cs
212    var:item.rev.new ?> でファイルを閲覧する"><?cs
213    var:item.path.new ?></a></h2><?cs
214    if:len(item.props) ?><ul class="props"><?cs
215     each:prop = item.props ?><li>属性の設定値: <strong><?cs
216      var:prop.name ?></strong> <?cs
217      if:prop.old && prop.new ?>(変更前) <?cs
218      elif:!prop.old ?>(登録) <?cs
219      else ?>(削除) <?cs
220      /if ?><?cs
221      if:prop.old && prop.new ?><em><tt><?cs var:prop.old ?></tt></em> (変更後) <?cs /if ?><?cs
222      if:prop.new ?><em><tt><?cs var:prop.new ?></tt></em><?cs /if ?></li><?cs
223     /each ?></ul><?cs
224    /if ?><?cs
225    if:len(item.diff) ?><table class="<?cs
226     var:diff.style ?>" summary="変更箇所" cellspacing="0"><?cs
227     if:diff.style == 'sidebyside' ?>
228      <colgroup class="l"><col class="lineno" /><col class="content" /></colgroup>
229      <colgroup class="r"><col class="lineno" /><col class="content" /></colgroup>
230      <thead><tr>
231       <th colspan="2"><a href="<?cs
232        var:item.browser_href.old ?>" title="古いリビジョン <?cs
233        var:item.rev.old ?> でファイル <?cs var:item.path.old ?> を閲覧する">リビジョン <?cs
234        var:item.rev.old ?></a></th>
235       <th colspan="2"><a href="<?cs
236        var:item.browser_href.new ?>" title="新しいリビジョン <?cs
237        var:item.rev.new ?> でファイル <?cs var:item.path.new ?> を閲覧する">リビジョン <?cs
238        var:item.rev.new ?></a></th>
239       </tr>
240      </thead><?cs
241      each:change = item.diff ?><tbody><?cs
242       call:diff_display(change, diff.style) ?></tbody><?cs
243       if:name(change) < len(item.diff) - 1 ?><tbody class="skipped"><tr>
244        <th>&hellip;</th><td>&nbsp;</td><th>&hellip;</th><td>&nbsp;</td>
245       </tr></tbody><?cs /if ?><?cs
246      /each ?><?cs
247     else ?>
248      <colgroup><col class="lineno" /><col class="lineno" /><col class="content" /></colgroup>
249      <thead><tr>
250       <th title="リビジョン <?cs var:item.rev.old ?>"><a href="<?cs
251        var:item.browser_href.old ?>" title="古いバージョンでファイル <?cs
252        var:item.path.old ?> を閲覧する">r<?cs var:item.shortrev.old ?></a></th>
253       <th title="リビジョン <?cs var:item.rev.new ?>"><a href="<?cs
254        var:item.browser_href.new ?>" title="新しいバージョンでファイル <?cs
255        var:item.path.new ?>を閲覧する">r<?cs var:item.shortrev.new ?></a></th>
256       <th>&nbsp;</th></tr>
257      </thead><?cs
258      each:change = item.diff ?><?cs
259       call:diff_display(change, diff.style) ?><?cs
260       if:name(change) < len(item.diff) - 1 ?><tbody class="skipped"><tr>
261        <th>&hellip;</th><th>&hellip;</th><td>&nbsp;</td>
262       </tr></tbody><?cs /if ?><?cs
263      /each ?><?cs
264     /if ?></table><?cs
265    /if ?></li><?cs
266   /if ?><?cs
267  /each ?></ul>
268 </div>
269
270 </div>
271 <?cs include "footer.cs"?>
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。