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): 51 51 elif name == 'svn:mergeinfo' or name.startswith('svnmerge-'): 52 52 return self._render_mergeinfo(name, mode, context, props) 53 53 54 def _is_abs_url(self, url): 55 return url and '://' in url 56 54 57 def _render_externals(self, prop): 55 58 if not self._externals_map: 56 59 for dummykey, value in self.config.options('svn:externals'): … … class SubversionPropertyRenderer(Component): 77 80 rev = elements[1] 78 81 rev = rev.replace('-r', '') 79 82 # 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 80 86 prefix = [] 81 87 base_url = url 82 88 while base_url:
Note:
See TracTickets
for help on using tickets.