#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

Reply via email to