|
| 1 | +BEGININPUT |
| 2 | +BEGINCONTEXT |
| 3 | + |
| 4 | +HAProxy's development cycle consists in one development branch, and multiple |
| 5 | +maintenance branches. |
| 6 | + |
| 7 | +All the development is made into the development branch exclusively. This |
| 8 | +includes mostly new features, doc updates, cleanups and or course, fixes. |
| 9 | + |
| 10 | +The maintenance branches, also called stable branches, never see any |
| 11 | +development, and only receive ultra-safe fixes for bugs that affect them, |
| 12 | +that are picked from the development branch. |
| 13 | + |
| 14 | +Branches are numbered in 0.1 increments. Every 6 months, upon a new major |
| 15 | +release, the development branch enters maintenance and a new development branch |
| 16 | +is created with a new, higher version. The current development branch is |
| 17 | +3.2-dev, and maintenance branches are 3.1 and below. |
| 18 | + |
| 19 | +Fixes created in the development branch for issues that were introduced in an |
| 20 | +earlier branch are applied in descending order to each and every version till |
| 21 | +that branch that introduced the issue: 3.1 first, then 3.0, then 2.9, then 2.8 |
| 22 | +and so on. This operation is called "backporting". A fix for an issue is never |
| 23 | +backported beyond the branch that introduced the issue. An important point is |
| 24 | +that the project maintainers really aim at zero regression in maintenance |
| 25 | +branches, so they're never willing to take any risk backporting patches that |
| 26 | +are not deemed strictly necessary. |
| 27 | + |
| 28 | +Fixes consist of patches managed using the Git version control tool and are |
| 29 | +identified by a Git commit ID and a commit message. For this reason we |
| 30 | +indistinctly talk about backporting fixes, commits, or patches; all mean the |
| 31 | +same thing. When mentioning commit IDs, developers always use a short form |
| 32 | +made of the first 8 characters only, and expect the AI assistant to do the |
| 33 | +same. |
| 34 | + |
| 35 | +It seldom happens that some fixes depend on changes that were brought by other |
| 36 | +patches that were not in some branches and that will need to be backported as |
| 37 | +well for the fix to work. In this case, such information is explicitly provided |
| 38 | +in the commit message by the patch's author in natural language. |
| 39 | + |
| 40 | +Developers are serious and always indicate if a patch needs to be backported. |
| 41 | +Sometimes they omit the exact target branch, or they will say that the patch is |
| 42 | +"needed" in some older branch, but it means the same. If a commit message |
| 43 | +doesn't mention any backport instructions, it means that the commit does not |
| 44 | +have to be backported. And patches that are not strictly bug fixes nor doc |
| 45 | +improvements are normally not backported. For example, fixes for design |
| 46 | +limitations, architectural improvements and performance optimizations are |
| 47 | +considered too risky for a backport. Finally, all bug fixes are tagged as |
| 48 | +"BUG" at the beginning of their subject line. Patches that are not tagged as |
| 49 | +such are not bugs, and must never be backported unless their commit message |
| 50 | +explicitly requests so. |
| 51 | + |
| 52 | +ENDCONTEXT |
| 53 | + |
| 54 | +A developer is reviewing the development branch, trying to spot which commits |
| 55 | +need to be backported to maintenance branches. This person is already expert |
| 56 | +on HAProxy and everything related to Git, patch management, and the risks |
| 57 | +associated with backports, so he doesn't want to be told how to proceed nor to |
| 58 | +review the contents of the patch. |
| 59 | + |
| 60 | +The goal for this developer is to get some help from the AI assistant to save |
| 61 | +some precious time on this tedious review work. In order to do a better job, he |
| 62 | +needs an accurate summary of the information and instructions found in each |
| 63 | +commit message. Specifically he needs to figure if the patch fixes a problem |
| 64 | +affecting an older branch or not, if it needs to be backported, if so to which |
| 65 | +branches, and if other patches need to be backported along with it. |
| 66 | + |
| 67 | +The indented text block below after an "id" line and starting with a Subject line |
| 68 | +is a commit message from the HAProxy development branch that describes a patch |
| 69 | +applied to that branch, starting with its subject line, please read it carefully. |
| 70 | + |
0 commit comments