changeset 1273:64cb9612f9aa beta

Added show as raw into big diff
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 23 Apr 2011 14:23:13 +0200
parents f2ac904f03a6
children 7a0004efde12
files rhodecode/controllers/files.py rhodecode/templates/files/file_diff.html
diffstat 2 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/files.py	Thu Apr 21 00:06:06 2011 +0200
+++ b/rhodecode/controllers/files.py	Sat Apr 23 14:23:13 2011 +0200
@@ -245,6 +245,7 @@
         c.action = request.GET.get('diff')
         c.no_changes = diff1 == diff2
         c.f_path = f_path
+        c.big_diff = False
 
         try:
             if diff1 not in ['', None, 'None', '0' * 12, '0' * 40]:
@@ -286,7 +287,8 @@
                 c.cur_diff = _('Binary file')
             elif node1.size > self.cut_off_limit or \
                     node2.size > self.cut_off_limit:
-                c.cur_diff = _('Diff is too big to display')
+                c.cur_diff = ''
+                c.big_diff = True
             else:
                 diff = differ.DiffProcessor(differ.get_gitdiff(node1, node2),
                                         format='gitdiff')
@@ -298,13 +300,15 @@
                 c.cur_diff = _('Binary file')
             elif node1.size > self.cut_off_limit or \
                     node2.size > self.cut_off_limit:
-                c.cur_diff = _('Diff is too big to display')
+                c.cur_diff = ''
+                c.big_diff = True
+
             else:
                 diff = differ.DiffProcessor(differ.get_gitdiff(node1, node2),
                                         format='gitdiff')
                 c.cur_diff = diff.as_html()
 
-        if not c.cur_diff:
+        if not c.cur_diff and not c.big_diff:
             c.no_changes = True
         return render('files/file_diff.html')
 
--- a/rhodecode/templates/files/file_diff.html	Thu Apr 21 00:06:06 2011 +0200
+++ b/rhodecode/templates/files/file_diff.html	Sat Apr 23 14:23:13 2011 +0200
@@ -38,6 +38,9 @@
 			<div class="code-body">
 		 			%if c.no_changes:
 		            	${_('No changes')}
+		            %elif c.big_diff:
+		                ${_('Diff is to big to display')} ${h.link_to(_('raw diff'),
+                           h.url.current(diff2=c.changeset_2.raw_id,diff1=c.changeset_1.raw_id,diff='raw'))}
 		            %else:        
 						${c.cur_diff|n}
 		            %endif