Edgewall Software

Opened 9 years ago

Last modified 7 years ago

#12110 closed defect

High CPU usage and hangup in repository browser due to svn:externals — at Initial Version

Reported by: Jun Omae Owned by:
Priority: normal Milestone: 0.12.8
Component: version control Version: 0.12-stable
Severity: normal Keywords: svn:externals
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

High CPU usage and hangup occurs when a directory is viewed in repository browser after path -r42 //hostname is set to svn:externals property of the directory.

The leading double slash characters in non-absolute url leads the issue.

  • trac/versioncontrol/svn_prop.py

    diff --git a/trac/versioncontrol/svn_prop.py b/trac/versioncontrol/svn_prop.py
    index 7b425d7..f0e8977 100644
    a b class SubversionPropertyRenderer(Component):  
    5151        elif name == 'svn:mergeinfo' or name.startswith('svnmerge-'):
    5252            return self._render_mergeinfo(name, mode, context, props)
    5353
     54    def _is_abs_url(self, url):
     55        return url and '://' in url
     56
    5457    def _render_externals(self, prop):
    5558        if not self._externals_map:
    5659            for dummykey, value in self.config.options('svn:externals'):
    class SubversionPropertyRenderer(Component):  
    7780                rev = elements[1]
    7881                rev = rev.replace('-r', '')
    7982            # retrieve a matching entry in the externals map
     83            if not self._is_abs_url(url):
     84                externals.append((external, None, None, None, None))
     85                continue
    8086            prefix = []
    8187            base_url = url
    8288            while base_url:

Change History (0)

Note: See TracTickets for help on using tickets.