# HG changeset patch # User Marcin Kuzminski # Date 1300019887 -3600 # Node ID 1cecc7db31060ba5ac3a03fa2a86cf82f12547db # Parent fe7fa994201549a2e8de21fb3c12716915f436e3 fixed some limits in changesets and changelogs diff -r fe7fa9942015 -r 1cecc7db3106 rhodecode/controllers/changelog.py --- a/rhodecode/controllers/changelog.py Sun Mar 13 11:34:57 2011 +0100 +++ b/rhodecode/controllers/changelog.py Sun Mar 13 13:38:07 2011 +0100 @@ -4,7 +4,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ changelog controller for rhodecode - + :created_on: Apr 21, 2010 :author: marcink :copyright: (C) 2009-2011 Marcin Kuzminski @@ -49,6 +49,7 @@ 'repository.admin') def __before__(self): super(ChangelogController, self).__before__() + c.affected_files_cut_off = 60 def index(self): limit = 100 diff -r fe7fa9942015 -r 1cecc7db3106 rhodecode/controllers/changeset.py --- a/rhodecode/controllers/changeset.py Sun Mar 13 11:34:57 2011 +0100 +++ b/rhodecode/controllers/changeset.py Sun Mar 13 13:38:07 2011 +0100 @@ -52,6 +52,7 @@ 'repository.admin') def __before__(self): super(ChangesetController, self).__before__() + c.affected_files_cut_off = 60 def index(self, revision): @@ -66,7 +67,7 @@ #get ranges of revisions if preset rev_range = revision.split('...')[:2] - range_limit = 50 + try: if len(rev_range) == 2: rev_start = rev_range[0] @@ -86,7 +87,7 @@ c.changes = OrderedDict() c.sum_added = 0 c.sum_removed = 0 - + c.cut_off = False for changeset in c.cs_ranges: c.changes[changeset.raw_id] = [] @@ -112,6 +113,8 @@ else: diff = wrap_to_table(_('Changeset is to big and was cut' ' off, see raw changeset instead')) + c.cut_off = True + break cs1 = None cs2 = node.last_changeset.raw_id @@ -120,35 +123,38 @@ #================================================================== # CHANGED FILES #================================================================== - for node in changeset.changed: - try: - filenode_old = changeset_parent.get_node(node.path) - except ChangesetError: - filenode_old = FileNode(node.path, '', EmptyChangeset()) + if not c.cut_off: + for node in changeset.changed: + try: + filenode_old = changeset_parent.get_node(node.path) + except ChangesetError: + filenode_old = FileNode(node.path, '', EmptyChangeset()) - if filenode_old.is_binary or node.is_binary: - diff = wrap_to_table(_('binary file')) - else: + if filenode_old.is_binary or node.is_binary: + diff = wrap_to_table(_('binary file')) + else: - if c.sum_removed < self.cut_off_limit: - f_gitdiff = differ.get_gitdiff(filenode_old, node) - diff = differ.DiffProcessor(f_gitdiff, format='gitdiff').as_html() - if diff: - c.sum_removed += len(diff) - else: - diff = wrap_to_table(_('Changeset is to big and was cut' - ' off, see raw changeset instead')) + if c.sum_removed < self.cut_off_limit: + f_gitdiff = differ.get_gitdiff(filenode_old, node) + diff = differ.DiffProcessor(f_gitdiff, format='gitdiff').as_html() + if diff: + c.sum_removed += len(diff) + else: + diff = wrap_to_table(_('Changeset is to big and was cut' + ' off, see raw changeset instead')) + c.cut_off = True + break - - cs1 = filenode_old.last_changeset.raw_id - cs2 = node.last_changeset.raw_id - c.changes[changeset.raw_id].append(('changed', node, diff, cs1, cs2)) + cs1 = filenode_old.last_changeset.raw_id + cs2 = node.last_changeset.raw_id + c.changes[changeset.raw_id].append(('changed', node, diff, cs1, cs2)) #================================================================== # REMOVED FILES #================================================================== - for node in changeset.removed: - c.changes[changeset.raw_id].append(('removed', node, None, None, None)) + if not c.cut_off: + for node in changeset.removed: + c.changes[changeset.raw_id].append(('removed', node, None, None, None)) if len(c.cs_ranges) == 1: c.changeset = c.cs_ranges[0] @@ -180,7 +186,7 @@ diff = _('binary file') + '\n' else: f_gitdiff = differ.get_gitdiff(filenode_old, node) - diff = differ.DiffProcessor(f_gitdiff).raw_diff() + diff = differ.DiffProcessor(f_gitdiff, format='gitdiff').raw_diff() cs1 = None cs2 = node.last_changeset.raw_id @@ -192,7 +198,7 @@ diff = _('binary file') else: f_gitdiff = differ.get_gitdiff(filenode_old, node) - diff = differ.DiffProcessor(f_gitdiff).raw_diff() + diff = differ.DiffProcessor(f_gitdiff, format='gitdiff').raw_diff() cs1 = filenode_old.last_changeset.raw_id cs2 = node.last_changeset.raw_id diff -r fe7fa9942015 -r 1cecc7db3106 rhodecode/templates/changelog/changelog.html --- a/rhodecode/templates/changelog/changelog.html Sun Mar 13 11:34:57 2011 +0100 +++ b/rhodecode/templates/changelog/changelog.html Sun Mar 13 13:38:07 2011 +0100 @@ -62,12 +62,14 @@
- % if len(cs.affected_files) <= 30: + % if len(cs.affected_files) <= c.affected_files_cut_off: ${len(cs.removed)} ${len(cs.changed)} ${len(cs.added)} % else: - ${len(cs.affected_files)} + ! + ! + ! % endif
%if len(cs.parents)>1: diff -r fe7fa9942015 -r 1cecc7db3106 rhodecode/templates/changeset/changeset.html --- a/rhodecode/templates/changeset/changeset.html Sun Mar 13 11:34:57 2011 +0100 +++ b/rhodecode/templates/changeset/changeset.html Sun Mar 13 13:38:07 2011 +0100 @@ -1,3 +1,5 @@ +## -*- coding: utf-8 -*- + <%inherit file="/base/base.html"/> <%def name="title()"> @@ -49,9 +51,15 @@
+ % if len(c.changeset.affected_files) <= c.affected_files_cut_off: ${len(c.changeset.removed)} ${len(c.changeset.changed)} ${len(c.changeset.added)} + % else: + ! + ! + ! + % endif
%if len(c.changeset.parents)>1:
@@ -78,11 +86,14 @@
- ${_('Files affected')} + ${_('Files affected (%s)' % len(c.changeset.affected_files))}
%for change,filenode,diff,cs1,cs2 in c.changes:
${h.link_to(filenode.path.decode('utf-8','replace'),h.url.current(anchor=h.repo_name_slug('C%s' % filenode.path.decode('utf-8','replace'))))}
%endfor + % if c.cut_off: + ${_('Changeset was to big and was cut off...')} + % endif