#6218 Pull branches and tags directly from SCM

v1.0.0
closed
General
2015-08-20
2013-05-08
Cory Johns
No

The list of heads (branches and tags) are currently indexed at the start of a refresh. However, if a head is added or removed while a previous refresh is running (refreshes can sometimes overlap, especially on large repos, and there is code in place to handle that), then the head cache can get out of sync even while the commits themselves are indexed.

Pulling the list of heads directly from the SCM should not be expensive even on large repos, so we should do that instead of caching. (Looking up heads already hits the SCM directly.)

While we're at it, we should make loading them for the sidebar AJAX to speed up page render time. --> Separate ticket

Discussion

  • Dave Brondsema

    Dave Brondsema - 2013-05-08
    • Milestone: forge-backlog --> forge-may-31
     
  • Dave Brondsema

    Dave Brondsema - 2013-05-20
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -2,4 +2,4 @@
    
     Pulling the list of heads directly from the SCM should not be expensive even on large repos, so we should do that instead of caching.  (Looking up heads already hits the SCM directly.)
    
    -While we're at it, we should make loading them for the sidebar AJAX to speed up page render time.
    +While we're at it, we should make loading them for the sidebar AJAX to speed up page render time.  --> Separate ticket
    
    • Size: --> 2
     
  • Dave Brondsema

    Dave Brondsema - 2013-05-20
    • labels: --> indexless
     
  • Cory Johns - 2013-05-23
    • status: open --> in-progress
    • assigned_to: Cory Johns
     
  • Cory Johns - 2013-05-23
    • status: in-progress --> code-review
     
  • Cory Johns - 2013-05-23

    allura:cj/6218
    forgehg:cj/6218

     
    • QA: Tim Van Steenburgh
     
  • Functionality is good but there's one test failure:

    (env-allura)root@h6v6034:/var/local/allura/ForgeGit(cj/6218)$ nosetests
    ............................................................................F........
    ======================================================================
    FAIL: test_commit (forgegit.tests.model.test_repository.TestNewGit)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/tvansteenburgh/tvansteenburgh-6034/forge/ForgeGit/forgegit/tests/model/test_repository.py", line 79, in test_commit
        assert self.rev.symbolic_ids == (['master', 'zz'], [])
    AssertionError:
    
     
    • status: code-review --> in-progress
     
  • Cory Johns - 2013-05-28
    • status: in-progress --> code-review
     
  • Cory Johns - 2013-05-28

    Forced-pushed changes to:
    allura:cj/6218
    forgehg:cj/6218

     
  • Cory Johns - 2013-05-30
    • status: code-review --> in-progress
     
  • Cory Johns - 2013-05-30

    The sidebar should no longer be hidden during a refresh since the branches work fine.

     
  • Cory Johns - 2013-05-30

    Upon further review, the other tools still need to be hidden which, if there are no branches, could still leave the sidebar empty, so I think the current logic to hide the sidebar should stay in place for now.

     
  • Cory Johns - 2013-05-30
    • status: in-progress --> code-review
     
  • Dave Brondsema

    Dave Brondsema - 2013-05-31
    • Milestone: forge-may-31 --> forge-jun-14
     
    • status: code-review --> closed
     

Log in to post a comment.