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
Diff:
symbolics_for_commits
is now an issue which is related to this:https://sourceforge.net/p/allura/pastebin/519e2cf50910d40716461fca/
https://sourceforge.net/p/esmf/esmf/ref/master/tags/
allura:cj/6218
forgehg:cj/6218
Functionality is good but there's one test failure:
Forced-pushed changes to:
allura:cj/6218
forgehg:cj/6218
The sidebar should no longer be hidden during a refresh since the branches work fine.
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.