Modify ↓
#12110 closed defect (fixed)
High CPU usage and hangup in repository browser due to svn:externals
Reported by: | Jun Omae | Owned by: | Jun Omae |
---|---|---|---|
Priority: | normal | Milestone: | 0.12.8 |
Component: | version control | Version: | 0.12-stable |
Severity: | normal | Keywords: | svn:externals |
Cc: | Branch: | ||
Release Notes: |
Fix endless-loop while rendering |
||
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:
Attachments (0)
Change History (5)
comment:1 by , 9 years ago
Owner: | set to |
---|---|
Status: | new → assigned |
comment:2 by , 9 years ago
milestone:0.12.7 still hasn't been released, but I will try to take care of that by this weekend so that you can apply the change for milestone:0.12.8.
Note:
See TracTickets
for help on using tickets.
Proposed changes in [b8d03d4f1/jomae.git], adding unit tests for rendering
svn:externals
property.