Mercurial > kallithea
changeset 1130:1cecc7db3106 beta
fixed some limits in changesets and changelogs
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 13 Mar 2011 13:38:07 +0100 |
parents | fe7fa9942015 |
children | 461f5acc7bbb |
files | rhodecode/controllers/changelog.py rhodecode/controllers/changeset.py rhodecode/templates/changelog/changelog.html rhodecode/templates/changeset/changeset.html |
diffstat | 4 files changed, 50 insertions(+), 30 deletions(-) [+] |
line wrap: on
line diff
--- 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 <marcin@python-works.com> @@ -49,6 +49,7 @@ 'repository.admin') def __before__(self): super(ChangelogController, self).__before__() + c.affected_files_cut_off = 60 def index(self): limit = 100
--- 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
--- 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 @@ </div> <div class="right"> <div class="changes"> - % if len(cs.affected_files) <= 30: + % if len(cs.affected_files) <= c.affected_files_cut_off: <span class="removed tooltip" title="<b>${_('removed')}</b>${h.changed_tooltip(cs.removed)}">${len(cs.removed)}</span> <span class="changed tooltip" title="<b>${_('changed')}</b>${h.changed_tooltip(cs.changed)}">${len(cs.changed)}</span> <span class="added tooltip" title="<b>${_('added')}</b>${h.changed_tooltip(cs.added)}">${len(cs.added)}</span> % else: - <span class="large tooltip" title="${_('affected %s files') % len(cs.affected_files)}">${len(cs.affected_files)}</span> + <span class="removed tooltip" title="${_('affected %s files') % len(cs.affected_files)}">!</span> + <span class="changed tooltip" title="${_('affected %s files') % len(cs.affected_files)}">!</span> + <span class="added tooltip" title="${_('affected %s files') % len(cs.affected_files)}">!</span> % endif </div> %if len(cs.parents)>1:
--- 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 @@ </div> <div class="right"> <div class="changes"> + % if len(c.changeset.affected_files) <= c.affected_files_cut_off: <span class="removed" title="${_('removed')}">${len(c.changeset.removed)}</span> <span class="changed" title="${_('changed')}">${len(c.changeset.changed)}</span> <span class="added" title="${_('added')}">${len(c.changeset.added)}</span> + % else: + <span class="removed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span> + <span class="changed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span> + <span class="added" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span> + % endif </div> %if len(c.changeset.parents)>1: <div class="merge"> @@ -78,11 +86,14 @@ </span> </div> </div> - <span style="font-size:1.1em;font-weight: bold">${_('Files affected')}</span> + <span style="font-size:1.1em;font-weight: bold">${_('Files affected (%s)' % len(c.changeset.affected_files))}</span> <div class="cs_files"> %for change,filenode,diff,cs1,cs2 in c.changes: <div class="cs_${change}">${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'))))}</div> %endfor + % if c.cut_off: + ${_('Changeset was to big and was cut off...')} + % endif </div> </div>