@@ -97,51 +97,51 @@ class ChangesetController(BaseRepoContro
#==================================================================
# ADDED FILES
for node in changeset.added:
filenode_old = FileNode(node.path, '', EmptyChangeset())
if filenode_old.is_binary or node.is_binary:
diff = wrap_to_table(_('binary file'))
else:
c.sum_added += node.size
if c.sum_added < self.cut_off_limit:
f_udiff = differ.get_udiff(filenode_old, node)
diff = differ.DiffProcessor(f_udiff).as_html()
f_gitdiff = differ.get_gitdiff(filenode_old, node)
diff = differ.DiffProcessor(f_gitdiff, format='gitdiff').as_html()
diff = wrap_to_table(_('Changeset is to big and was cut'
' off, see raw changeset instead'))
cs1 = None
cs2 = node.last_changeset.raw_id
c.changes[changeset.raw_id].append(('added', node, diff, cs1, cs2))
# CHANGED FILES
for node in changeset.changed:
try:
filenode_old = changeset_parent.get_node(node.path)
except ChangesetError:
if c.sum_removed < self.cut_off_limit:
if diff:
c.sum_removed += len(diff)
cs1 = filenode_old.last_changeset.raw_id
c.changes[changeset.raw_id].append(('changed', node, diff, cs1, cs2))
@@ -170,38 +170,38 @@ class ChangesetController(BaseRepoContro
c.changeset_parent = c.changeset.parents[0]
except IndexError:
c.changeset_parent = None
c.changes = []
for node in c.changeset.added:
filenode_old = FileNode(node.path, '')
diff = _('binary file') + '\n'
f_udiff = differ.get_gitdiff(filenode_old, node)
diff = differ.DiffProcessor(f_udiff).raw_diff()
diff = differ.DiffProcessor(f_gitdiff).raw_diff()
c.changes.append(('added', node, diff, cs1, cs2))
for node in c.changeset.changed:
filenode_old = c.changeset_parent.get_node(node.path)
diff = _('binary file')
c.changes.append(('changed', node, diff, cs1, cs2))
response.content_type = 'text/plain'
if method == 'download':
response.content_disposition = 'attachment; filename=%s.patch' % revision
parent = True if len(c.changeset.parents) > 0 else False
c.parent_tmpl = 'Parent %s' % c.changeset.parents[0].raw_id if parent else ''
@@ -233,34 +233,34 @@ class FilesController(BaseRepoController
diff_name = '%s_vs_%s.diff' % (diff1, diff2)
response.content_disposition = 'attachment; filename=%s' \
% diff_name
return diff.raw_diff()
elif c.action == 'raw':
diff = differ.DiffProcessor(differ.get_gitdiff(node1, node2))
elif c.action == 'diff':
diff = differ.DiffProcessor(differ.get_udiff(node1, node2))
if node1.size > self.cut_off_limit or node2.size > self.cut_off_limit:
c.cur_diff = _('Diff is to big to display')
elif node1.is_binary or node2.is_binary:
c.cur_diff = _('Binary file')
c.cur_diff = diff.as_html()
#default option
if not c.cur_diff: c.no_changes = True
return render('files/file_diff.html')
def _get_history(self, repo, node, f_path):
Status change: