I'm not following this discussion, I confess. Regardless of whether it is svn or git, if you want to support old releases, you end up with 'old release branches' upon which you maintain them and make point releases.
Given Apache preferences for 'development in public', I'd sort of expect a position like: 1. There's a master branch, aiming at the next major. 2. There's a long-lived branch for each older release that is actively maintained. 3. There's a tag for each release. After that, there are short-lived branches for tasks, shared projects. If people prefer the release-from-a-branch model (as opposed to the 'release from the main line'), then I'm not sure what the right lifetime is of those branches. A branch in git is just a name attached to a commit, it's not a line. The 'line' is defined only by the fact that commits have parents. So, so long as there's a tag on a commit, no history is ever garbage collected that reaches that tag.