comparison rhodecode/controllers/files.py @ 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 5f2fbab7c429
children 166317d464f3
comparison
equal deleted inserted replaced
1272:f2ac904f03a6 1273:64cb9612f9aa
243 diff1 = request.GET.get('diff1') 243 diff1 = request.GET.get('diff1')
244 diff2 = request.GET.get('diff2') 244 diff2 = request.GET.get('diff2')
245 c.action = request.GET.get('diff') 245 c.action = request.GET.get('diff')
246 c.no_changes = diff1 == diff2 246 c.no_changes = diff1 == diff2
247 c.f_path = f_path 247 c.f_path = f_path
248 c.big_diff = False
248 249
249 try: 250 try:
250 if diff1 not in ['', None, 'None', '0' * 12, '0' * 40]: 251 if diff1 not in ['', None, 'None', '0' * 12, '0' * 40]:
251 c.changeset_1 = c.rhodecode_repo.get_changeset(diff1) 252 c.changeset_1 = c.rhodecode_repo.get_changeset(diff1)
252 node1 = c.changeset_1.get_node(f_path) 253 node1 = c.changeset_1.get_node(f_path)
284 285
285 if node1.is_binary or node2.is_binary: 286 if node1.is_binary or node2.is_binary:
286 c.cur_diff = _('Binary file') 287 c.cur_diff = _('Binary file')
287 elif node1.size > self.cut_off_limit or \ 288 elif node1.size > self.cut_off_limit or \
288 node2.size > self.cut_off_limit: 289 node2.size > self.cut_off_limit:
289 c.cur_diff = _('Diff is too big to display') 290 c.cur_diff = ''
291 c.big_diff = True
290 else: 292 else:
291 diff = differ.DiffProcessor(differ.get_gitdiff(node1, node2), 293 diff = differ.DiffProcessor(differ.get_gitdiff(node1, node2),
292 format='gitdiff') 294 format='gitdiff')
293 c.cur_diff = diff.as_html() 295 c.cur_diff = diff.as_html()
294 else: 296 else:
296 #default option 298 #default option
297 if node1.is_binary or node2.is_binary: 299 if node1.is_binary or node2.is_binary:
298 c.cur_diff = _('Binary file') 300 c.cur_diff = _('Binary file')
299 elif node1.size > self.cut_off_limit or \ 301 elif node1.size > self.cut_off_limit or \
300 node2.size > self.cut_off_limit: 302 node2.size > self.cut_off_limit:
301 c.cur_diff = _('Diff is too big to display') 303 c.cur_diff = ''
304 c.big_diff = True
305
302 else: 306 else:
303 diff = differ.DiffProcessor(differ.get_gitdiff(node1, node2), 307 diff = differ.DiffProcessor(differ.get_gitdiff(node1, node2),
304 format='gitdiff') 308 format='gitdiff')
305 c.cur_diff = diff.as_html() 309 c.cur_diff = diff.as_html()
306 310
307 if not c.cur_diff: 311 if not c.cur_diff and not c.big_diff:
308 c.no_changes = True 312 c.no_changes = True
309 return render('files/file_diff.html') 313 return render('files/file_diff.html')
310 314
311 def _get_node_history(self, cs, f_path): 315 def _get_node_history(self, cs, f_path):
312 changesets = cs.get_file_history(f_path) 316 changesets = cs.get_file_history(f_path)