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
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
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.