#2485: trac-admin resync crash
-----------------------------+----------------------------------------------
Reporter: anonymous | Owner: cboos
Type: defect | Status: assigned
Priority: normal | Milestone: 0.9.4
Component: version control | Version: 0.9.3
Severity: major | Resolution:
Keywords: |
-----------------------------+----------------------------------------------
Comment (by anonymous):
I did partially merged-back, this works resync.
This modification have a problem. In Changeset View,
"(previous)" link always point to previous revision.
So I may modify changeset.py too.
{{{
--- svn_fs.py (revision 89)
+++ svn_fs.py (local)
@@ -463,13 +463,13 @@
idx = 0
copies, deletions = {}, {}
changes = []
- revroots = {}
for path, change in editor.changes.items():
if not self.authz.has_permission(path):
# FIXME: what about base_path?
continue
if not (path+'/').startswith(self.scope[1:]):
continue
+ base_path = _scoped_path(self.scope, change.base_path)
action = ''
if not change.path and change.base_path:
action = Changeset.DELETE
@@ -482,17 +482,8 @@
action = Changeset.ADD
else:
action = Changeset.EDIT
- b_path, b_rev = change.base_path, change.base_rev
- if revroots.has_key(b_rev):
- b_root = revroots[b_rev]
- else:
- b_root = fs.revision_root(self.fs_ptr, b_rev, pool())
- revroots[b_rev] = b_root
- change.base_path = fs.node_created_path(b_root, b_path,
pool())
- change.base_rev = fs.node_created_rev(b_root, b_path,
pool())
kind = _kindmap[change.item_kind]
path = path[len(self.scope) - 1:]
- base_path = _scoped_path(self.scope, change.base_path)
changes.append([path, kind, action, base_path,
change.base_rev])
idx += 1
}}}
No fs.node_created_path and fs.node_created_rev will resync done.
Illegal pool usage?
--
Ticket URL: <http://projects.edgewall.com/trac/ticket/2485>
The Trac Project <http://trac.edgewall.com/>
_______________________________________________
Trac-Tickets mailing list
[email protected]
http://lists.edgewall.com/mailman/listinfo/trac-tickets