Evaluate RR version-by-RR version rebases instead of ESR-to-ESR
Traditionally, we're switching from a Firefox ESR version to the next one.
I've done this work twice now, and I can see some of the problems it involves.
First, at a certain point we have to focus this change and we're in a sort of limbo with patches developed for the previous ESR while we're already rebasing, and the rebaser has to catch a lot.
Second, the rebase is a lot of work, but reviewing it is also a big one.
Third, we have a lots of conflicts. In 13 Firefox versions, it's very likely that a commit is going to cause conflicts.
Because the long time it takes to do this work, last year I decided to start when 115 started nightly. It gave us 2 additional months, which was great, considering it raised our budget from 3 months to 5 months.
I thought if I could do better, and I came up with the idea of traversing RR version by RR version, and I've started to do so.
My impression is that differences are much smaller, therefore easier to explain.
Also, it's a work we can spread during the year, and we can be ready to move to the build/Android parts sooner (even though also for Android we could do something similar), or in any case give some of the 5 months time to all members of the team.
I can see some disadvantages (and limits) also with this approach:
- it's possible that with 13 rebases instead of just a few ones we lose more parts of the patches
- possibly more (easy) conflicts to solve, so they might require more time at the end, than solving only one big conflict (but I'm not sure, I don't have metrics)
- I've gone with a quick approach: I haven't solved non-trivial problems that involve fixing a patch, and I haven't tried to build/run
- more load on the team (more reviews to do, if we end up not taking the quick way we might have to work on build problems every month)
- as an alternative, the reviews could be done with a lower frequency, or even when we arrive to our final target (it will be a huge review on one shot, but at least it will be possible to find when something has changed more easily, by going through my notes)
- I started from 115.x and go back to 115.0 to then go through the mozilla/release branch. I had a few conflicts because of the various backports. Starting this work as soon as possible would help with this.