Past
I am developing a software project using subversion as scm. So far, development has always occurred in trunk, so there are problems with the release of bug fixes. Now we want to review our branching strategy, and the requirement is this: we want to be able to work with several future versions at once.
Task
This means: suppose that the current version we are working on is 1.0. The next planned version is 2.0, the version after that is 3.0. Now that we have released 1.0, we want
- support version 1.0
- develop features for 2.0
- at the same time develop features for 3.0
Of course, the fixes that were applied in 1.0 are also needed in two other versions. In addition, features from 2.0 should also be in 3.0. In addition, it is possible that a small release, say 1.1, is planned, which also includes new features and should be supported separately.
Possible Solution
I came up with the following branching strategy:
- The row will be left
- For each new planned release, a branch is created that is associated with the last release branch.
- Changes propagate "up" on the version timeline
Let me tell you more about this: in this example, we will separate version 1.0 from trunk. In addition, we released version 2.0 from version 1.0 and version 3.0 from version 2.0. When a change is made in 1.0, it will be merged into 2.0, and then into 3.0.

Question
? ? ? ? ( : " , " ). - ?