The most common theory (which, I understand, is supported by some evidence, but hasn't been conclusively proved) is that this is caused by an excessive number of branches in our repositories, and particularly in afw. And we certainly have a lot of branches — as of when I last pulled, there are 470 branches in afw; 300 of them haven't been merged; 266 of them predate 2018.
Of course, those branches contain useful information. Some are work which hasn't been merged but might be useful someday; others are necessary for properly tracking development history. We've made some effort to cull branches in the past, but have been prevented from going too far by the desire not to be destructive.
I therefore propose a more radical solution. Specifically, we should:
- Copy the existing afw repository to lsst-dm/afw-archive;
- Remove all merged branches, and all unmerged branches predating 2018, from lsst/afw.
In this way, history is not lost (although accessing it will be significantly clunkier), and the total number of branches will be much reduced (to 34, if my count is correct).
If this doesn't get Jira-Github integration moving smoothly within a relatively short period (say, a couple of days), we can restore from lsst-dm/afw-archive and, with a little cherry-picking, should be back to exactly where we are today.
This RFC is a genuine request for comments — I am not particularly advocating the proposal above, but genuinely appealing to the developer community to see whether folks value access to historical information or convenient Jira-GitHub integration more highly.