#2709 Implement compute_tree for Mercurial -- Code repository returning http 500 [21394]

v1.0.0
closed
nobody
None
General
nobody
2015-08-20
2011-08-29
Chris Tsai
No

https://sourceforge.net/apps/trac/sourceforge/ticket/21394

This page returns error:
https://sourceforge.net/p/parapascal/code/

Btw, it is frontend problem, mercurial repository is working fine from console, both pushing and pulling.

See for yourselves:
hg clone http://hg.code.sf.net/p/parapascal/code parapascal

Related

Tickets: #2698

Discussion

1 2 > >> (Page 1 of 2)
  • Anonymous - 2011-09-01

    Originally by: frankiezafe

    I have the same behaviour >> no problem with console...

     
  • Dave Brondsema

    Dave Brondsema - 2011-09-19
    • summary: Mercurial Code repository returning http 500 [21394] --> Mercurial Code repository returning http 500 [21394]
    • milestone: forge-sept-30 --> forge-oct-14
     
  • Dave Brondsema

    Dave Brondsema - 2011-09-19

    Tim says some fixes are in [#2698] but when a refresh errors in the middle, it gets stuck in a bad state wherein we get "NotImplementedError: compute_tree" errors.

     

    Related

    Tickets: #2698

  • Dave Brondsema

    Dave Brondsema - 2011-10-14
    • summary: Mercurial Code repository returning http 500 [21394] --> Implement compute_tree for Mercurial -- Code repository returning http 500 [21394]
    • size: --> 4
     
  • Rick Copeland - 2011-10-17
    • status: open --> in-progress
    • assigned_to: Rick Copeland ☕
     
  • Rick Copeland - 2011-10-19
    • status: in-progress --> code-review
    • assigned_to: Rick Copeland ☕ --> Tim Van Steenburgh
     
  • Rick Copeland - 2011-10-19

    Implemented on rc/2709 in allura

     
    • status: code-review --> closed
    • assigned_to: Tim Van Steenburgh --> Rick Copeland ☕
     
  • Merged to dev.

     
    • status: closed --> open
    • milestone: forge-oct-28 --> forge-backlog
     
  • The page no longer 500s, but the repo is stuck in the 'analyzing' step.

     
  • Rick Copeland - 2011-11-04

    Fixes on allura:rc/2709. Code review and then put in validation. (We had an AssertionError on refresh of repos with corrupt commits, of which this is one)

     
  • Rick Copeland - 2011-11-04
    • status: open --> code-review
    • assigned_to: Rick Copeland ☕ --> Tim Van Steenburgh
     
    • status: code-review --> validation
    • assigned_to: Tim Van Steenburgh --> Rick Copeland ☕
    • milestone: forge-backlog --> forge-nov-11
     
  • Merged to dev.

     
  • Dave Brondsema

    Dave Brondsema - 2011-11-10
    • status: validation --> open
     
  • Dave Brondsema

    Dave Brondsema - 2011-11-10
    Module allura.model.repository:388 in refresh
    <<              {'$push':dict(repositories=self._id)},
                       upsert=False, multi=True)
                   self.compute_diffs()
                   log.info('... refreshed repository %s.  Found %d new commits',
                            self, len(commit_ids))
    >>  self.compute_diffs()
    Module allura.model.repository:407 in compute_diffs
    <<          for i, oid in enumerate(commit_ids):
                       ci = self._impl.commit(oid)
                       ci.tree.set_last_commit(ci, self)
                       if not ci.diffs_computed:
                           ci.compute_diffs()
    >>  ci.tree.set_last_commit(ci, self)
    Module allura.model.repository:853 in set_last_commit
    <<      def set_last_commit(self, ci, repo=None):
                   lc, isnew = super(Tree, self).set_last_commit(ci, repo)
                   if isnew:
                       for x in self.object_ids:
    >>  lc, isnew = super(Tree, self).set_last_commit(ci, repo)
    Module allura.model.repository:612 in set_last_commit
    <<          lc, isnew = LastCommitFor.upsert(repo_id=repo._id, object_id=self.object_id)
                   if not ci.authored.date:
                       repo.refresh_commit(ci)
                   if isnew:
                       lc.last_commit.author = ci.authored.name
    >>  repo.refresh_commit(ci)
    AttributeError: 'Repository' object has no attribute 'refresh_commit'
    
     
  • Rick Copeland - 2011-11-11

    Simple fix, QA is code review

     
  • Rick Copeland - 2011-11-11
    • status: open --> code-review
    • assigned_to: Rick Copeland ☕ --> Tim Van Steenburgh
     
    • status: code-review --> validation
    • assigned_to: Tim Van Steenburgh --> Rick Copeland ☕
    • milestone: forge-nov-25 --> forge-nov-18
     
  • Merged to dev.

     
  • Dave Brondsema

    Dave Brondsema - 2011-11-16
    • status: validation --> open
    • milestone: forge-nov-18 --> forge-nov-25
     
  • Dave Brondsema

    Dave Brondsema - 2011-11-16
    Module allura.model.repository:407 in compute_diffs
    <<          for i, oid in enumerate(commit_ids):
                       ci = self._impl.commit(oid)
                       ci.tree.set_last_commit(ci, self)
                       if not ci.diffs_computed:
                           ci.compute_diffs()
    >>  ci.tree.set_last_commit(ci, self)
    Module allura.model.repository:853 in set_last_commit
    <<      def set_last_commit(self, ci, repo=None):
                   lc, isnew = super(Tree, self).set_last_commit(ci, repo)
                   if isnew:
                       for x in self.object_ids:
    >>  lc, isnew = super(Tree, self).set_last_commit(ci, repo)
    Module allura.model.repository:612 in set_last_commit
    <<          lc, isnew = LastCommitFor.upsert(repo_id=repo._id, object_id=self.object_id)
                   if not ci.authored.date:
                       repo._impl.refresh_commit(ci)
                   if isnew:
                       lc.last_commit.author = ci.authored.name
    >>  repo._impl.refresh_commit(ci)
    TypeError: refresh_commit() takes exactly 3 arguments (2 given)
    
     
  • Rick Copeland - 2012-02-03

    On rc/2709, there is a fix for the particular issue found by dave

     
1 2 > >> (Page 1 of 2)

Log in to post a comment.