Show More
@@ -421,6 +421,28 b' def make_map(config):' | |||
|
421 | 421 | controller='changeset', revision='tip', |
|
422 | 422 | conditions=dict(function=check_repo)) |
|
423 | 423 | |
|
424 | #still working url for backward compat. | |
|
425 | rmap.connect('raw_changeset_home_depraced', | |
|
426 | '/{repo_name:.*?}/raw-changeset/{revision}', | |
|
427 | controller='changeset', action='changeset_raw', | |
|
428 | revision='tip', conditions=dict(function=check_repo)) | |
|
429 | ||
|
430 | ## new URLs | |
|
431 | rmap.connect('changeset_raw_home', | |
|
432 | '/{repo_name:.*?}/changeset-diff/{revision}', | |
|
433 | controller='changeset', action='changeset_raw', | |
|
434 | revision='tip', conditions=dict(function=check_repo)) | |
|
435 | ||
|
436 | rmap.connect('changeset_patch_home', | |
|
437 | '/{repo_name:.*?}/changeset-patch/{revision}', | |
|
438 | controller='changeset', action='changeset_patch', | |
|
439 | revision='tip', conditions=dict(function=check_repo)) | |
|
440 | ||
|
441 | rmap.connect('changeset_download_home', | |
|
442 | '/{repo_name:.*?}/changeset-download/{revision}', | |
|
443 | controller='changeset', action='changeset_download', | |
|
444 | revision='tip', conditions=dict(function=check_repo)) | |
|
445 | ||
|
424 | 446 | rmap.connect('changeset_comment', |
|
425 | 447 | '/{repo_name:.*?}/changeset/{revision}/comment', |
|
426 | 448 | controller='changeset', revision='tip', action='comment', |
@@ -431,11 +453,6 b' def make_map(config):' | |||
|
431 | 453 | controller='changeset', action='delete_comment', |
|
432 | 454 | conditions=dict(function=check_repo, method=["DELETE"])) |
|
433 | 455 | |
|
434 | rmap.connect('raw_changeset_home', | |
|
435 | '/{repo_name:.*?}/raw-changeset/{revision}', | |
|
436 | controller='changeset', action='raw_changeset', | |
|
437 | revision='tip', conditions=dict(function=check_repo)) | |
|
438 | ||
|
439 | 456 | rmap.connect('changeset_info', '/changeset_info/{repo_name:.*?}/{revision}', |
|
440 | 457 | controller='changeset', action='changeset_info') |
|
441 | 458 |
@@ -51,6 +51,7 b' from rhodecode.lib.diffs import LimitedD' | |||
|
51 | 51 | from rhodecode.model.repo import RepoModel |
|
52 | 52 | from rhodecode.lib.exceptions import StatusChangeOnClosedPullRequestError |
|
53 | 53 | from rhodecode.lib.vcs.backends.base import EmptyChangeset |
|
54 | from rhodecode.lib.utils2 import safe_unicode | |
|
54 | 55 | |
|
55 | 56 | log = logging.getLogger(__name__) |
|
56 | 57 | |
@@ -179,12 +180,11 b' class ChangesetController(BaseRepoContro' | |||
|
179 | 180 | c.users_array = repo_model.get_users_js() |
|
180 | 181 | c.users_groups_array = repo_model.get_users_groups_js() |
|
181 | 182 | |
|
182 | def index(self, revision): | |
|
183 | method = request.GET.get('diff', 'show') | |
|
183 | def index(self, revision, method='show'): | |
|
184 | 184 | c.anchor_url = anchor_url |
|
185 | 185 | c.ignorews_url = _ignorews_url |
|
186 | 186 | c.context_url = _context_url |
|
187 |
|
|
|
187 | c.fulldiff = fulldiff = request.GET.get('fulldiff') | |
|
188 | 188 | #get ranges of revisions if preset |
|
189 | 189 | rev_range = revision.split('...')[:2] |
|
190 | 190 | enable_comments = True |
@@ -243,7 +243,7 b' class ChangesetController(BaseRepoContro' | |||
|
243 | 243 | |
|
244 | 244 | _diff = c.rhodecode_repo.get_diff(cs1, cs2, |
|
245 | 245 | ignore_whitespace=ign_whitespace_lcl, context=context_lcl) |
|
246 |
diff_limit = self.cut_off_limit if not li |
|
|
246 | diff_limit = self.cut_off_limit if not fulldiff else None | |
|
247 | 247 | diff_processor = diffs.DiffProcessor(_diff, |
|
248 | 248 | vcs=c.rhodecode_repo.alias, |
|
249 | 249 | format='gitdiff', |
@@ -281,20 +281,30 b' class ChangesetController(BaseRepoContro' | |||
|
281 | 281 | for x in c.changeset.parents]) |
|
282 | 282 | if method == 'download': |
|
283 | 283 | response.content_type = 'text/plain' |
|
284 |
response.content_disposition = 'attachment; filename=%s. |
|
|
285 | % revision | |
|
286 | return render('changeset/raw_changeset.html') | |
|
284 | response.content_disposition = 'attachment; filename=%s.diff' \ | |
|
285 | % revision[:12] | |
|
286 | return diff | |
|
287 | elif method == 'patch': | |
|
288 | response.content_type = 'text/plain' | |
|
289 | c.diff = safe_unicode(diff) | |
|
290 | return render('changeset/patch_changeset.html') | |
|
287 | 291 | elif method == 'raw': |
|
288 | 292 | response.content_type = 'text/plain' |
|
289 | return render('changeset/raw_changeset.html') | |
|
293 | return diff | |
|
290 | 294 | elif method == 'show': |
|
291 | 295 | if len(c.cs_ranges) == 1: |
|
292 | 296 | return render('changeset/changeset.html') |
|
293 | 297 | else: |
|
294 | 298 | return render('changeset/changeset_range.html') |
|
295 | 299 | |
|
296 |
def |
|
|
297 | return self.index(revision) | |
|
300 | def changeset_raw(self, revision): | |
|
301 | return self.index(revision, method='raw') | |
|
302 | ||
|
303 | def changeset_patch(self, revision): | |
|
304 | return self.index(revision, method='patch') | |
|
305 | ||
|
306 | def changeset_download(self, revision): | |
|
307 | return self.index(revision, method='download') | |
|
298 | 308 | |
|
299 | 309 | @jsonify |
|
300 | 310 | def comment(self, repo_name, revision): |
@@ -262,7 +262,7 b' class DiffProcessor(object):' | |||
|
262 | 262 | self.adds += 1 |
|
263 | 263 | elif l.startswith('-') and not l.startswith('---'): |
|
264 | 264 | self.removes += 1 |
|
265 | return l | |
|
265 | return safe_unicode(l) | |
|
266 | 266 | |
|
267 | 267 | def _highlight_line_difflib(self, line, next_): |
|
268 | 268 | """ |
@@ -574,9 +574,10 b' class DiffProcessor(object):' | |||
|
574 | 574 | |
|
575 | 575 | def as_raw(self, diff_lines=None): |
|
576 | 576 | """ |
|
577 |
Returns raw string |
|
|
577 | Returns raw string diff | |
|
578 | 578 | """ |
|
579 | return u''.join(imap(self._line_counter, self._diff.splitlines(1))) | |
|
579 | return self._diff | |
|
580 | #return u''.join(imap(self._line_counter, self._diff.splitlines(1))) | |
|
580 | 581 | |
|
581 | 582 | def as_html(self, table_class='code-difftable', line_class='line', |
|
582 | 583 | new_lineno_class='lineno old', old_lineno_class='lineno new', |
@@ -157,13 +157,14 b'' | |||
|
157 | 157 | checked_checkboxes.push(checkboxes[pos]); |
|
158 | 158 | } |
|
159 | 159 | } |
|
160 | ||
|
161 | if(checked_checkboxes.length>0){ | |
|
162 | // modify open pull request to show we have selected cs | |
|
163 | YUD.get('open_new_pr').innerHTML = _TM['Open new pull request for selected changesets']; | |
|
164 | ||
|
165 | }else{ | |
|
166 | YUD.get('open_new_pr').innerHTML = _TM['Open new pull request']; | |
|
160 | if(YUD.get('open_new_pr')){ | |
|
161 | if(checked_checkboxes.length>0){ | |
|
162 | // modify open pull request to show we have selected cs | |
|
163 | YUD.get('open_new_pr').innerHTML = _TM['Open new pull request for selected changesets']; | |
|
164 | ||
|
165 | }else{ | |
|
166 | YUD.get('open_new_pr').innerHTML = _TM['Open new pull request']; | |
|
167 | } | |
|
167 | 168 | } |
|
168 | 169 | |
|
169 | 170 | if(checked_checkboxes.length>1){ |
@@ -46,8 +46,9 b'' | |||
|
46 | 46 | %endif |
|
47 | 47 | </div> |
|
48 | 48 | <div class="diff-actions"> |
|
49 | <a href="${h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='raw')}" class="tooltip" title="${h.tooltip(_('raw diff'))}"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a> | |
|
50 | <a href="${h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='download')}" class="tooltip" title="${h.tooltip(_('download diff'))}"><img class="icon" src="${h.url('/images/icons/page_white_get.png')}"/></a> | |
|
49 | <a href="${h.url('changeset_raw_home',repo_name=c.repo_name,revision=c.changeset.raw_id)}" class="tooltip" title="${h.tooltip(_('raw diff'))}"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a> | |
|
50 | <a href="${h.url('changeset_patch_home',repo_name=c.repo_name,revision=c.changeset.raw_id)}" class="tooltip" title="${h.tooltip(_('patch diff'))}"><img class="icon" src="${h.url('/images/icons/page_add.png')}"/></a> | |
|
51 | <a href="${h.url('changeset_download_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='download')}" class="tooltip" title="${h.tooltip(_('download diff'))}"><img class="icon" src="${h.url('/images/icons/page_save.png')}"/></a> | |
|
51 | 52 | ${c.ignorews_url(request.GET)} |
|
52 | 53 | ${c.context_url(request.GET)} |
|
53 | 54 | </div> |
@@ -68,7 +69,7 b'' | |||
|
68 | 69 | </div> |
|
69 | 70 | <div class="right"> |
|
70 | 71 | <div class="changes"> |
|
71 | % if len(c.changeset.affected_files) <= c.affected_files_cut_off: | |
|
72 | % if (len(c.changeset.affected_files) <= c.affected_files_cut_off) or c.fulldiff: | |
|
72 | 73 | <span class="removed" title="${_('removed')}">${len(c.changeset.removed)}</span> |
|
73 | 74 | <span class="changed" title="${_('changed')}">${len(c.changeset.changed)}</span> |
|
74 | 75 | <span class="added" title="${_('added')}">${len(c.changeset.added)}</span> |
@@ -16,9 +16,9 b'' | |||
|
16 | 16 | revision=cs2,f_path=h.safe_unicode(path)))} |
|
17 | 17 | </div> |
|
18 | 18 | <div class="diff-actions"> |
|
19 | <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='diff',fulldiff=1)}" class="tooltip" title="${h.tooltip(_('diff'))}"><img class="icon" src="${h.url('/images/icons/page_white_go.png')}"/></a> | |
|
19 | <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='diff',fulldiff=1)}" class="tooltip" title="${h.tooltip(_('show full diff for this file'))}"><img class="icon" src="${h.url('/images/icons/page_white_go.png')}"/></a> | |
|
20 | 20 | <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='raw')}" class="tooltip" title="${h.tooltip(_('raw diff'))}"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a> |
|
21 |
<a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='download')}" class="tooltip" title="${h.tooltip(_('download diff'))}"><img class="icon" src="${h.url('/images/icons/page_ |
|
|
21 | <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='download')}" class="tooltip" title="${h.tooltip(_('download diff'))}"><img class="icon" src="${h.url('/images/icons/page_save.png')}"/></a> | |
|
22 | 22 | ${c.ignorews_url(request.GET, h.FID(cs2,path))} |
|
23 | 23 | ${c.context_url(request.GET, h.FID(cs2,path))} |
|
24 | 24 | </div> |
@@ -5,7 +5,13 b'' | |||
|
5 | 5 | # Node ID ${c.changeset.raw_id} |
|
6 | 6 | ${c.parent_tmpl} |
|
7 | 7 | ${c.changeset.message} |
|
8 | ||
|
9 | %elif h.is_git(c.rhodecode_repo): | |
|
10 | From 35d9475598be9f807cd800e51212b8f1efbeacd9 Mon Sep 17 00:00:00 2001 | |
|
11 | From: ${c.changeset.author} | |
|
12 | Date: ${c.changeset.date} | |
|
13 | Subject: [PATCH] ${c.changeset.message} | |
|
14 | --- | |
|
15 | ||
|
8 | 16 | %endif |
|
9 | %for FID, (cs1, cs2, change, path, diff, stats) in c.changes[c.changeset.raw_id].iteritems(): | |
|
10 | ${diff|n} | |
|
11 | %endfor | |
|
17 | ${c.diff|n} |
General Comments 0
You need to be logged in to leave comments.
Login now