Opened 21 years ago
Closed 21 years ago
#1275 closed defect (fixed)
Error accessing a branch-creation changeset
| Reported by: | Juanma Barranquero | Owned by: | anonymous |
|---|---|---|---|
| Priority: | high | Milestone: | 0.9 |
| Component: | version control/changeset view | Version: | devel |
| Severity: | major | Keywords: | |
| Cc: | Branch: | ||
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description
On my installation, accessing http://localhost/trac/changeset/691 produces an error:
Trac detected an internal error: 'ClaSent/branches/desarrollo-tests/ClaSent.pl'
Changeset 691 has nothing extraordinary per se. It was just:
svn cp http://localhost/svn/work/ClaSent/trunk http://localhost/svn/work/ClaSent/branches/desarrollo-tests -m "Testing branch."
and it worked flawlessly. But now every time I try to get to it from Trac I get this stack trace:
Traceback (most recent call last):
File "C:\bin\python\lib\site-packages\trac\web\modpython_frontend.py", line 179, in handler
dispatch_request(mpr.path_info, mpr, env)
File "C:\bin\python\lib\site-packages\trac\web\main.py", line 319, in dispatch_request
module.run(req)
File "C:\bin\python\lib\site-packages\trac\Module.py", line 52, in run
disp(req)
File "C:\bin\python\lib\site-packages\trac\Changeset.py", line 494, in display
self.render_diffs(req)
File "C:\bin\python\lib\site-packages\trac\Changeset.py", line 490, in render_diffs
0, 1, 0, 1, self.pool)
File "C:\bin\python\lib\site-packages\trac\Changeset.py", line 188, in change_file_prop
self._change_prop(file_baton, name, value, file_pool)
File "C:\bin\python\lib\site-packages\trac\Changeset.py", line 195, in _change_prop
old_root = self._old_root(new_path, pool)
File "C:\bin\python\lib\site-packages\trac\Changeset.py", line 128, in _old_root
old_rev = self.path_info[new_path][2]
KeyError: 'ClaSent/branches/desarrollo-tests/ClaSent.pl'
Attachments (0)
Change History (8)
comment:1 by , 21 years ago
comment:2 by , 21 years ago
- the version of the SVN command line svn —version
svn, version 1.1.3 (r12730) compiled Jan 20 2005, 05:51:34
- the version of the SVN bindings Trac is using
The version of the Python bindings, you mean? The same as for the command line client: 1.1.3 (from the Subversion Win32 download page's svn-win32-1.1.3_py.zip). - the output of
svn plist -v -r 691 http://localhost/svn/work/ClaSent/branches/desarrollo-tests/ClaSent.plProperties on 'http://localhost/svn/work/ClaSent/branches/desarrollo-tests/ClaSent.pl': svn:executable : svn:eol-style : native
- the output of
svn plist -v -r 690 http://localhost/svn/work/ClaSent/trunk/ClaSent.plProperties on 'http://localhost/svn/work/ClaSent/trunk/ClaSent.pl': svn:executable : svn:eol-style : native
comment:3 by , 21 years ago
I got it!
The following lines, removed in [1314], are needed:
-
trac/Changeset.py
138 139 139 140 def apply_textdelta(self, file_baton, base_checksum): 140 141 old_path, new_path, pool = file_baton 141 if not old_path or not new_path:142 if not self.prefix or not (old_path and new_path): 142 143 return 143 144 old_root = self._old_root(new_path, pool) 144 145 if not old_root: … … 188 189 self._change_prop(file_baton, name, value, file_pool) 189 190 190 191 def _change_prop(self, baton, name, value, pool): 192 if not self.prefix: 193 return 191 194 old_path, new_path, pool = baton 192 195 193 196 prefix = '%s.props.%s' % (self.prefix, name)
Specifically, your problem was related to the second diff, but I'm pretty sure that the first diff is also necessary in some situations (can't remember which right now).
comment:4 by , 21 years ago
| Milestone: | → 0.9 |
|---|---|
| Owner: | changed from to |
| Priority: | low → high |
| Severity: | minor → major |
| Status: | new → assigned |
Oh, I wasn't aware that self.prefix might not be set. Sorry for the breakage, will check in the fix.
comment:5 by , 21 years ago
| Milestone: | 0.9 |
|---|---|
| Priority: | high → low |
| Severity: | major → minor |
Yeah, it works now. Thanks.
comment:6 by , 21 years ago
| Milestone: | → 0.9 |
|---|---|
| Priority: | low → high |
| Severity: | minor → major |
It seems I updated the ticket at the wrong time and I've reset priority, severity and milestone…
comment:7 by , 21 years ago
Yeah, the ticket form needs transaction tokens of some kind. There's a ticket about there somewhere, but I can't find it right now.



Could you give me some more informations, please?
svn --versionsvn plist -v -r 691 http://localhost/svn/work/ClaSent/branches/desarrollo-tests/ClaSent.plsvn plist -v -r 690 http://localhost/svn/work/ClaSent/trunk/ClaSent.plAs I'm certainly the author of the bug, I'll try to fix it :)