#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 cboos):

 Not illegal, but maybe not optimal either...
 Please try out the following patch:
 {{{
 --- svn_fs.py   (revision 2746)
 +++ svn_fs.py   (working copy)
 @@ -455,6 +455,7 @@

      def get_changes(self):
          pool = Pool(self.pool)
 +        tmp = Pool(pool)
          root = fs.revision_root(self.fs_ptr, self.rev, pool())
          editor = repos.RevisionChangeCollector(self.fs_ptr, self.rev,
 pool())
          e_ptr, e_baton = delta.make_editor(editor, pool())
 @@ -465,6 +466,7 @@
          changes = []
          revroots = {}
          for path, change in editor.changes.items():
 +            tmp.clear()
              if not self.authz.has_permission(path):
                  # FIXME: what about base_path?
                  continue
 @@ -488,8 +490,8 @@
                  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())
 +                change.base_path = fs.node_created_path(b_root, b_path,
 tmp())
 +                change.base_rev = fs.node_created_rev(b_root, b_path,
 tmp())
              kind = _kindmap[change.item_kind]
              path = path[len(self.scope) - 1:]
              base_path = _scoped_path(self.scope, change.base_path)
 }}}

-- 
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

Reply via email to