##// END OF EJS Templates
summary/changelog: unified how data is displayed for summary and changelog pages....
marcink -
r472:3d63a95d default
parent child Browse files
Show More
@@ -1,414 +1,418 b''
1 1 ## -*- coding: utf-8 -*-
2 2
3 3 <%inherit file="/base/base.html"/>
4 4
5 5 <%def name="title()">
6 6 ${_('%s Changelog') % c.repo_name}
7 7 %if c.changelog_for_path:
8 8 /${c.changelog_for_path}
9 9 %endif
10 10 %if c.rhodecode_name:
11 11 &middot; ${h.branding(c.rhodecode_name)}
12 12 %endif
13 13 </%def>
14 14
15 15 <%def name="breadcrumbs_links()">
16 16 %if c.changelog_for_path:
17 17 /${c.changelog_for_path}
18 18 %endif
19 19 ${ungettext('showing %d out of %d commit', 'showing %d out of %d commits', c.showing_commits) % (c.showing_commits, c.total_cs)}
20 20 </%def>
21 21
22 22 <%def name="menu_bar_nav()">
23 23 ${self.menu_items(active='repositories')}
24 24 </%def>
25 25
26 26 <%def name="menu_bar_subnav()">
27 27 ${self.repo_menu(active='changelog')}
28 28 </%def>
29 29
30 30 <%def name="main()">
31 31
32 32 <div class="box">
33 33 <div class="title">
34 34 ${self.repo_page_title(c.rhodecode_db_repo)}
35 35 <ul class="links">
36 36 <li>
37 37 <a href="#" class="btn btn-small" id="rev_range_container" style="display:none;"></a>
38 38 %if c.rhodecode_db_repo.fork:
39 39 <span>
40 40 <a id="compare_fork_button"
41 41 title="${_('Compare fork with %s' % c.rhodecode_db_repo.fork.repo_name)}"
42 42 class="btn btn-small"
43 43 href="${h.url('compare_url',
44 44 repo_name=c.rhodecode_db_repo.fork.repo_name,
45 45 source_ref_type=c.rhodecode_db_repo.landing_rev[0],
46 46 source_ref=c.rhodecode_db_repo.landing_rev[1],
47 47 target_repo=c.repo_name,
48 48 target_ref_type='branch' if request.GET.get('branch') else c.rhodecode_db_repo.landing_rev[0],
49 49 target_ref=request.GET.get('branch') or c.rhodecode_db_repo.landing_rev[1],
50 50 merge=1)
51 51 }">
52 52 <i class="icon-loop"></i>
53 53 ${_('Compare fork with Parent (%s)' % c.rhodecode_db_repo.fork.repo_name)}
54 54 </a>
55 55 </span>
56 56 %endif
57 57
58 58 ## pr open link
59 59 %if h.is_hg(c.rhodecode_repo) or h.is_git(c.rhodecode_repo):
60 60 <span>
61 61 <a id="open_new_pull_request" class="btn btn-small btn-success" href="${h.url('pullrequest_home',repo_name=c.repo_name)}">
62 62 ${_('Open new pull request')}
63 63 </a>
64 64 </span>
65 65 %endif
66 66
67 67 ## clear selection
68 68 <div title="${_('Clear selection')}" class="btn" id="rev_range_clear" style="display:none">
69 69 ${_('Clear selection')}
70 70 </div>
71 71
72 72 </li>
73 73 </ul>
74 74 </div>
75 75
76 76 % if c.pagination:
77 77
78 78 <div class="graph-header">
79 79 <div id="filter_changelog">
80 80 ${h.hidden('branch_filter')}
81 81 %if c.selected_name:
82 82 <div class="btn btn-default" id="clear_filter" >
83 83 ${_('Clear filter')}
84 84 </div>
85 85 %endif
86 86 </div>
87 87 ${self.breadcrumbs('breadcrumbs_light')}
88 88 </div>
89 89
90 90 <div id="graph">
91 91 <div class="graph-col-wrapper">
92 92 <div id="graph_nodes">
93 93 <div id="graph_canvas" data-graph='${c.jsdata|n}'></div>
94 94 </div>
95 95 <div id="graph_content" class="main-content graph_full_width">
96 96
97 97 <div class="table">
98 98 <table id="changesets" class="rctable">
99 99 <tr>
100 <th></th>
100 ## checkbox
101 101 <th></th>
102 <th>${_('Author')}</th>
103 <th>${_('Age')}</th>
102 <th colspan="2"></th>
103
104 <th>${_('Commit')}</th>
105 ## commit message expand arrow
104 106 <th></th>
105 107 <th>${_('Commit Message')}</th>
106 <th>${_('Commit')}</th>
107 <th></th>
108
109 <th>${_('Age')}</th>
110 <th>${_('Author')}</th>
111
108 112 <th>${_('Refs')}</th>
109 113 </tr>
110 114 <tbody>
111 115 %for cnt,commit in enumerate(c.pagination):
112 116 <tr id="chg_${cnt+1}" class="container ${'tablerow%s' % (cnt%2)}">
113 117
114 118 <td class="td-checkbox">
115 119 ${h.checkbox(commit.raw_id,class_="commit-range")}
116 120 </td>
117 121 <td class="td-status">
118 122
119 123 %if c.statuses.get(commit.raw_id):
120 124 <div class="changeset-status-ico">
121 125 %if c.statuses.get(commit.raw_id)[2]:
122 126 <a class="tooltip" title="${_('Commit status: %s\nClick to open associated pull request #%s') % (h.commit_status_lbl(c.statuses.get(commit.raw_id)[0]), c.statuses.get(commit.raw_id)[2])}" href="${h.url('pullrequest_show',repo_name=c.statuses.get(commit.raw_id)[3],pull_request_id=c.statuses.get(commit.raw_id)[2])}">
123 127 <div class="${'flag_status %s' % c.statuses.get(commit.raw_id)[0]}"></div>
124 128 </a>
125 129 %else:
126 130 <a class="tooltip" title="${_('Commit status: %s') % h.commit_status_lbl(c.statuses.get(commit.raw_id)[0])}" href="${h.url('changeset_home',repo_name=c.repo_name,revision=commit.raw_id,anchor='comment-%s' % c.comments[commit.raw_id][0].comment_id)}">
127 131 <div class="${'flag_status %s' % c.statuses.get(commit.raw_id)[0]}"></div>
128 132 </a>
129 133 %endif
130 134 </div>
135 %else:
136 <div class="tooltip flag_status not_reviewed" title="${_('Commit status: Not Reviewed')}"></div>
131 137 %endif
132 138 </td>
133 <td class="td-user">
134 ${self.gravatar_with_user(commit.author)}
135 </td>
136 <td class="td-time">
137 ${h.age_component(commit.date)}
139 <td class="td-comments comments-col">
140 %if c.comments.get(commit.raw_id):
141 <a title="${_('Commit has comments')}" href="${h.url('changeset_home',repo_name=c.repo_name,revision=commit.raw_id,anchor='comment-%s' % c.comments[commit.raw_id][0].comment_id)}">
142 <i class="icon-comment icon-comment-colored"></i> ${len(c.comments[commit.raw_id])}
143 </a>
144 %endif
138 145 </td>
139
140 <td class="td-message expand_commit" data-commit-id="${commit.raw_id}" title="${_('Expand commit message')}">
141 <div class="show_more_col">
142 <i class="show_more"></i>&nbsp;
143 </div>
144 </td>
145 <td class="mid td-description">
146 <div class="log-container truncate-wrap">
147 <div class="message truncate" id="c-${commit.raw_id}">${h.urlify_commit_message(commit.message, c.repo_name)}</div>
148 </div>
149 </td>
150
151 146 <td class="td-hash">
152 147 <code>
153 148 <a href="${h.url('changeset_home',repo_name=c.repo_name,revision=commit.raw_id)}">
154 149 <span class="commit_hash">${h.show_id(commit)}</span>
155 150 </a>
156 151 </code>
157 152 </td>
153 <td class="td-message expand_commit" data-commit-id="${commit.raw_id}" title="${_('Expand commit message')}">
154 <div class="show_more_col">
155 <i class="show_more"></i>&nbsp;
156 </div>
157 </td>
158 <td class="td-description mid">
159 <div class="log-container truncate-wrap">
160 <div class="message truncate" id="c-${commit.raw_id}">${h.urlify_commit_message(commit.message, c.repo_name)}</div>
161 </div>
162 </td>
158 163
159 <td class="td-comments comments-col">
160 %if c.comments.get(commit.raw_id):
161 <a title="${_('Commit has comments')}" href="${h.url('changeset_home',repo_name=c.repo_name,revision=commit.raw_id,anchor='comment-%s' % c.comments[commit.raw_id][0].comment_id)}">
162 ${len(c.comments[commit.raw_id])} <i class="icon-comment icon-comment-colored"></i>
163 </a>
164 %endif
164 <td class="td-time">
165 ${h.age_component(commit.date)}
166 </td>
167 <td class="td-user">
168 ${self.gravatar_with_user(commit.author)}
165 169 </td>
166 170
167 171 <td class="td-tags tags-col truncate-wrap">
168 172 <div class="truncate tags-truncate" id="t-${commit.raw_id}">
169 173 ## branch
170 174 %if commit.branch:
171 175 <span class="branchtag tag" title="${_('Branch %s') % commit.branch}">
172 176 <a href="${h.url('changelog_home',repo_name=c.repo_name,branch=commit.branch)}"><i class="icon-code-fork"></i>${h.shorter(commit.branch)}</a>
173 177 </span>
174 178 %endif
175 179
176 180 ## bookmarks
177 181 %if h.is_hg(c.rhodecode_repo):
178 182 %for book in commit.bookmarks:
179 183 <span class="tag booktag" title="${_('Bookmark %s') % book}">
180 184 <a href="${h.url('files_home',repo_name=c.repo_name,revision=commit.raw_id)}"><i class="icon-bookmark"></i>${h.shorter(book)}</a>
181 185 </span>
182 186 %endfor
183 187 %endif
184 188
185 189 ## tags
186 190 %for tag in commit.tags:
187 191 <span class="tagtag tag" title="${_('Tag %s') % tag}">
188 192 <a href="${h.url('files_home',repo_name=c.repo_name,revision=commit.raw_id)}"><i class="icon-tag"></i>${h.shorter(tag)}</a>
189 193 </span>
190 194 %endfor
191 195
192 196 </div>
193 197 </td>
194 198 </tr>
195 199 %endfor
196 200 </tbody>
197 201 </table>
198 202 </div>
199 203 </div>
200 204 </div>
201 205 <div class="pagination-wh pagination-left">
202 206 ${c.pagination.pager('$link_previous ~2~ $link_next')}
203 207 </div>
204 208
205 209 <script type="text/javascript" src="${h.asset('js/jquery.commits-graph.js')}"></script>
206 210 <script type="text/javascript">
207 211 var cache = {};
208 212 $(function(){
209 213
210 214 // Create links to commit ranges when range checkboxes are selected
211 215 var $commitCheckboxes = $('.commit-range');
212 216 // cache elements
213 217 var $commitRangeContainer = $('#rev_range_container');
214 218 var $commitRangeClear = $('#rev_range_clear');
215 219
216 220 var checkboxRangeSelector = function(e){
217 221 var selectedCheckboxes = [];
218 222 for (pos in $commitCheckboxes){
219 223 if($commitCheckboxes[pos].checked){
220 224 selectedCheckboxes.push($commitCheckboxes[pos]);
221 225 }
222 226 }
223 227 var open_new_pull_request = $('#open_new_pull_request');
224 228 if(open_new_pull_request){
225 229 var selected_changes = selectedCheckboxes.length;
226 230 if (selected_changes > 1 || selected_changes == 1 && templateContext.repo_type != 'hg') {
227 231 open_new_pull_request.hide();
228 232 } else {
229 233 if (selected_changes == 1) {
230 234 open_new_pull_request.html(_gettext('Open new pull request for selected commit'));
231 235 } else if (selected_changes == 0) {
232 236 open_new_pull_request.html(_gettext('Open new pull request'));
233 237 }
234 238 open_new_pull_request.show();
235 239 }
236 240 }
237 241
238 242 if (selectedCheckboxes.length>0){
239 243 var revEnd = selectedCheckboxes[0].name;
240 244 var revStart = selectedCheckboxes[selectedCheckboxes.length-1].name;
241 245 var url = pyroutes.url('changeset_home',
242 246 {'repo_name': '${c.repo_name}',
243 247 'revision': revStart+'...'+revEnd});
244 248
245 249 var link = (revStart == revEnd)
246 250 ? _gettext('Show selected commit __S')
247 251 : _gettext('Show selected commits __S ... __E');
248 252
249 253 link = link.replace('__S', revStart.substr(0,6));
250 254 link = link.replace('__E', revEnd.substr(0,6));
251 255
252 256 $commitRangeContainer
253 257 .attr('href',url)
254 258 .html(link)
255 259 .show();
256 260
257 261 $commitRangeClear.show();
258 262 var _url = pyroutes.url('pullrequest_home',
259 263 {'repo_name': '${c.repo_name}',
260 264 'commit': revEnd});
261 265 open_new_pull_request.attr('href', _url);
262 266 $('#compare_fork_button').hide();
263 267 } else {
264 268 $commitRangeContainer.hide();
265 269 $commitRangeClear.hide();
266 270
267 271 %if c.branch_name:
268 272 var _url = pyroutes.url('pullrequest_home',
269 273 {'repo_name': '${c.repo_name}',
270 274 'branch':'${c.branch_name}'});
271 275 open_new_pull_request.attr('href', _url);
272 276 %else:
273 277 var _url = pyroutes.url('pullrequest_home',
274 278 {'repo_name': '${c.repo_name}'});
275 279 open_new_pull_request.attr('href', _url);
276 280 %endif
277 281 $('#compare_fork_button').show();
278 282 }
279 283 };
280 284
281 285 $commitCheckboxes.on('click', checkboxRangeSelector);
282 286
283 287 $commitRangeClear.on('click',function(e) {
284 288 $commitCheckboxes.attr('checked', false)
285 289 checkboxRangeSelector();
286 290 e.preventDefault();
287 291 });
288 292
289 293 // make sure the buttons are consistent when navigate back and forth
290 294 checkboxRangeSelector();
291 295
292 296
293 297 var msgs = $('.message');
294 298 // get first element height
295 299 var el = $('#graph_content .container')[0];
296 300 var row_h = el.clientHeight;
297 301 for (var i=0; i < msgs.length; i++) {
298 302 var m = msgs[i];
299 303
300 304 var h = m.clientHeight;
301 305 var pad = $(m).css('padding');
302 306 if (h > row_h) {
303 307 var offset = row_h - (h+12);
304 308 $(m.nextElementSibling).css('display','block');
305 309 $(m.nextElementSibling).css('margin-top',offset+'px');
306 310 }
307 311 }
308 312
309 313 $('.expand_commit').on('click',function(e){
310 314 var target_expand = $(this);
311 315 var cid = target_expand.data('commitId');
312 316
313 317 if (target_expand.hasClass('open')){
314 318 $('#c-'+cid).css({'height': '1.5em', 'white-space': 'nowrap', 'text-overflow': 'ellipsis', 'overflow':'hidden'});
315 319 $('#t-'+cid).css({'height': 'auto', 'line-height': '.9em', 'text-overflow': 'ellipsis', 'overflow':'hidden', 'white-space':'nowrap'});
316 320 target_expand.removeClass('open');
317 321 }
318 322 else {
319 323 $('#c-'+cid).css({'height': 'auto', 'white-space': 'pre-line', 'text-overflow': 'initial', 'overflow':'visible'});
320 324 $('#t-'+cid).css({'height': 'auto', 'max-height': 'none', 'text-overflow': 'initial', 'overflow':'visible', 'white-space':'normal'});
321 325 target_expand.addClass('open');
322 326 }
323 327 // redraw the graph
324 328 graph_options.height = $("#changesets").height();
325 329 $("canvas").remove();
326 330 $("[data-graph]").commits(graph_options);
327 331 });
328 332
329 333 $("#clear_filter").on("click", function() {
330 334 var filter = {'repo_name': '${c.repo_name}'};
331 335 window.location = pyroutes.url('changelog_home', filter);
332 336 });
333 337
334 338 $("#branch_filter").select2({
335 339 'dropdownAutoWidth': true,
336 340 'width': 'resolve',
337 341 'placeholder': "${c.selected_name or _('Filter changelog')}",
338 342 containerCssClass: "drop-menu",
339 343 dropdownCssClass: "drop-menu-dropdown",
340 344 query: function(query){
341 345 var key = 'cache';
342 346 var cached = cache[key] ;
343 347 if(cached) {
344 348 var data = {results: []};
345 349 //filter results
346 350 $.each(cached.results, function(){
347 351 var section = this.text;
348 352 var children = [];
349 353 $.each(this.children, function(){
350 354 if(query.term.length == 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0 ){
351 355 children.push({'id': this.id, 'text': this.text, 'type': this.type})
352 356 }
353 357 });
354 358 data.results.push({'text': section, 'children': children});
355 359 query.callback({results: data.results});
356 360 });
357 361 }else{
358 362 $.ajax({
359 363 url: pyroutes.url('repo_refs_changelog_data', {'repo_name': '${c.repo_name}'}),
360 364 data: {},
361 365 dataType: 'json',
362 366 type: 'GET',
363 367 success: function(data) {
364 368 cache[key] = data;
365 369 query.callback({results: data.results});
366 370 }
367 371 })
368 372 }
369 373 }
370 374 });
371 375
372 376 $('#branch_filter').on('change', function(e){
373 377 var data = $('#branch_filter').select2('data');
374 378 var selected = data.text;
375 379 var filter = {'repo_name': '${c.repo_name}'};
376 380 if(data.type == 'branch' || data.type == 'branch_closed'){
377 381 filter["branch"] = selected;
378 382 }
379 383 else if (data.type == 'book'){
380 384 filter["bookmark"] = selected;
381 385 }
382 386 window.location = pyroutes.url('changelog_home', filter);
383 387 });
384 388
385 389 // Determine max number of edges per row in graph
386 390 var jsdata = $.parseJSON($("[data-graph]").attr('data-graph'));
387 391 var edgeCount = 1;
388 392 $.each(jsdata, function(i, item){
389 393 $.each(item[2], function(key, value) {
390 394 if (value[1] > edgeCount){
391 395 edgeCount = value[1];
392 396 }
393 397 });
394 398 });
395 399 var x_step = Math.min(18, Math.floor(86 / edgeCount));
396 400 var graph_options = {
397 401 width: 100,
398 402 height: $("#changesets").height(),
399 403 x_step: x_step,
400 404 y_step: 42,
401 405 dotRadius: 3.5,
402 406 lineWidth: 2.5
403 407 };
404 408 $("[data-graph]").commits(graph_options);
405 409
406 410 });
407 411
408 412 </script>
409 413 %else:
410 414 ${_('There are no changes yet')}
411 415 %endif
412 416 </div>
413 417 </div>
414 418 </%def>
@@ -1,126 +1,133 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%namespace name="base" file="/base/base.html"/>
3 3 %if c.repo_commits:
4 4 <table class="rctable repo_summary table_disp">
5 5 <tr>
6
7 <th class="status" colspan="2"></th>
6 8 <th>${_('Commit')}</th>
7 <th class="status" colspan="2"></th>
8 9 <th>${_('Commit message')}</th>
9 10 <th>${_('Age')}</th>
10 11 <th>${_('Author')}</th>
11 12 <th>${_('Refs')}</th>
12 13 </tr>
13 14 %for cnt,cs in enumerate(c.repo_commits):
14 15 <tr class="parity${cnt%2}">
16
17 <td class="td-status">
18 %if c.statuses.get(cs.raw_id):
19 <div class="changeset-status-ico shortlog">
20 %if c.statuses.get(cs.raw_id)[2]:
21 <a class="tooltip" title="${_('Commit status: %s\nClick to open associated pull request #%s') % (c.statuses.get(cs.raw_id)[0], c.statuses.get(cs.raw_id)[2])}" href="${h.url('pullrequest_show',repo_name=c.statuses.get(cs.raw_id)[3],pull_request_id=c.statuses.get(cs.raw_id)[2])}">
22 <div class="${'flag_status %s' % c.statuses.get(cs.raw_id)[0]}"></div>
23 </a>
24 %else:
25 <a class="tooltip" title="${_('Commit status: %s') % h.commit_status_lbl(c.statuses.get(cs.raw_id)[0])}" href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id,anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
26 <div class="${'flag_status %s' % c.statuses.get(cs.raw_id)[0]}"></div>
27 </a>
28 %endif
29 </div>
30 %else:
31 <div class="tooltip flag_status not_reviewed" title="${_('Commit status: Not Reviewed')}"></div>
32 %endif
33 </td>
34 <td class="td-comments">
35 %if c.comments.get(cs.raw_id,[]):
36 <a title="${_('Commit has comments')}" href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id,anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
37 <i class="icon-comment icon-comment-colored"></i> ${len(c.comments[cs.raw_id])}
38 </a>
39 %endif
40 </td>
15 41 <td class="td-commit">
16 42 <pre><a href="${h.url('changeset_home', repo_name=c.repo_name, revision=cs.raw_id)}">${h.show_id(cs)}</a></pre>
17 43 </td>
18 <td class="td-status">
19 %if c.statuses.get(cs.raw_id):
20 <div class="changeset-status-ico shortlog">
21 %if c.statuses.get(cs.raw_id)[2]:
22 <a class="tooltip" title="${_('Commit status: %s\nClick to open associated pull request #%s') % (c.statuses.get(cs.raw_id)[0], c.statuses.get(cs.raw_id)[2])}" href="${h.url('pullrequest_show',repo_name=c.statuses.get(cs.raw_id)[3],pull_request_id=c.statuses.get(cs.raw_id)[2])}">
23 <div class="${'flag_status %s' % c.statuses.get(cs.raw_id)[0]}"></div>
24 </a>
25 %else:
26 <div class="${'flag_status %s' % c.statuses.get(cs.raw_id)[0]}"></div>
27 %endif
28 </div>
29 %endif
30 </td>
31 <td class="td-comments">
32 %if c.comments.get(cs.raw_id,[]):
33 <a title="${_('Commit has comments')}" href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id,anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
34 <i class="icon-comment icon-comment-colored"></i> ${len(c.comments[cs.raw_id])}
35 </a>
36 %endif
37 </td>
38 44 <td class="td-message">
39 45 ${h.urlify_commit_message(h.truncate(cs.message, 50), c.repo_name)}
40 46 </td>
47
41 48 <td class="td-time">
42 49 ${h.age_component(cs.date)}
43 50 </td>
44
45 51 <td class="td-user author">
46 52 ${base.gravatar_with_user(cs.author)}
47 53 </td>
54
48 55 <td class="td-tags truncate-wrap">
49 56 <div class="truncate tags-truncate"><div class="autoexpand">
50 57 %if h.is_hg(c.rhodecode_repo):
51 58 %for book in cs.bookmarks:
52 59 <span class="booktag tag" title="${_('Bookmark %s') % book}">
53 60 <a href="${h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id)}"><i class="icon-bookmark"></i>${h.shorter(book)}</a>
54 61 </span>
55 62 %endfor
56 63 %endif
57 64 ## tags
58 65 %for tag in cs.tags:
59 66 <span class="tagtag tag" title="${_('Tag %s') % tag}">
60 67 <a href="${h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id)}"><i class="icon-tag"></i>${h.shorter(tag)}</a>
61 68 </span>
62 69 %endfor
63 70
64 71 ## branch
65 72 %if cs.branch:
66 73 <span class="branchtag tag" title="${_('Branch %s') % cs.branch}">
67 74 <a href="${h.url('changelog_home',repo_name=c.repo_name,branch=cs.branch)}"><i class="icon-code-fork"></i>${h.shorter(cs.branch)}</a>
68 75 </span>
69 76 %endif
70 77 </div>
71 78 </td>
72 79 </tr>
73 80 %endfor
74 81
75 82 </table>
76 83
77 84 <script type="text/javascript">
78 85 $(document).pjax('#shortlog_data .pager_link','#shortlog_data', {timeout: 2000, scrollTo: false });
79 86 $(document).on('pjax:success', function(){ timeagoActivate(); });
80 87 </script>
81 88
82 89 <div class="pagination-wh pagination-left">
83 90 ${c.repo_commits.pager('$link_previous ~2~ $link_next')}
84 91 </div>
85 92 %else:
86 93
87 94 %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
88 95 <div class="quick_start">
89 96 <div class="fieldset">
90 97 <div class="left-label">${_('Add or upload files directly via RhodeCode:')}</div>
91 98 <div class="right-content">
92 99 <div id="add_node_id" class="add_node">
93 100 <a href="${h.url('files_add_home',repo_name=c.repo_name,revision=0,f_path='', anchor='edit')}" class="btn btn-default">${_('Add New File')}</a>
94 101 </div>
95 102 </div>
96 103 %endif
97 104 </div>
98 105
99 106 %if not h.is_svn(c.rhodecode_repo):
100 107 <div class="fieldset">
101 108 <div class="left-label">${_('Push new repo:')}</div>
102 109 <div class="right-content">
103 110 <pre>
104 111 ${c.rhodecode_repo.alias} clone ${c.clone_repo_url}
105 112 ${c.rhodecode_repo.alias} add README # add first file
106 113 ${c.rhodecode_repo.alias} commit -m "Initial" # commit with message
107 114 ${c.rhodecode_repo.alias} push ${'origin master' if h.is_git(c.rhodecode_repo) else ''} # push changes back
108 115 </pre>
109 116 </div>
110 117 </div>
111 118 <div class="fieldset">
112 119 <div class="left-label">${_('Existing repository?')}</div>
113 120 <div class="right-content">
114 121 <pre>
115 122 %if h.is_git(c.rhodecode_repo):
116 123 git remote add origin ${c.clone_repo_url}
117 124 git push -u origin master
118 125 %else:
119 126 hg push ${c.clone_repo_url}
120 127 %endif
121 128 </pre>
122 129 </div>
123 130 </div>
124 131 %endif
125 132 </div>
126 133 %endif
General Comments 0
You need to be logged in to leave comments. Login now