This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


The following commit(s) were added to refs/heads/main by this push:
     new f0dd5c6aaf chore: document the backport targets in the project rules
f0dd5c6aaf is described below

commit f0dd5c6aaf13c54bbcdade022d690f68f887c1ba
Author: Andrea Cosentino <[email protected]>
AuthorDate: Tue Sep 1 12:34:18 2026 +0200

    chore: document the backport targets in the project rules
    
    project-guidelines.md described branch naming and commit formats but said
    nothing about which release lines a fix should be backported to, so the
    question had to be answered from scratch each time.
    
    Record the maintained lines - main, 3.39.x, and the 3.33.x and 3.27.x LTS
    lines - along with the cherry-pick convention, the check that the defect and
    not merely the file exists on the target, and the migration guide policy.
    
    Every 3.N.x branch ever released is still present in git branch -r, so the
    listing is not evidence of support. The included snippet sorts by committer
    date rather than author date, since a cherry-picked backport keeps the
    original author date and makes a maintained line look stale.
    
    Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
---
 .oss-ai-helper-rules/project-guidelines.md | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/.oss-ai-helper-rules/project-guidelines.md 
b/.oss-ai-helper-rules/project-guidelines.md
index 48dd6d5271..d42d9adbc0 100644
--- a/.oss-ai-helper-rules/project-guidelines.md
+++ b/.oss-ai-helper-rules/project-guidelines.md
@@ -12,6 +12,19 @@ This rule file contains branching, commit, PR, and 
task-finding conventions for
 - **CI-issue branch:** `ci-issue/<short-slug>`
 - **Commit format (ci-issue):** `ci: <brief description>`
 - **PR creation:** always
+- **Backport targets:** `main`, `3.39.x` (current release line), `3.33.x` 
(LTS), `3.27.x` (LTS). Camel Quarkus follows the **Quarkus LTS cadence**, so 
each line pairs with a Quarkus version (3.33.x ↔ Quarkus 3.33.x, 3.27.x ↔ 
Quarkus 3.27.x). `3.20.x` and `3.15.x` are older LTS lines that are no longer 
routinely maintained — do not open backport PRs against them without checking 
first. **A branch existing in `git branch -r` is not evidence that it is 
supported**: every `3.N.x` branch ever [...]
+
+  ```sh
+  # %cd (committer date), not %ad: a cherry-picked backport keeps the original
+  # author date, so %ad makes an actively maintained line look stale.
+  for b in $(git branch -r | grep -oE 'origin/3\.[0-9]+\.x' | sort -u); do
+    printf "%-16s %s\n" "${b#origin/}" "$(git log -1 --format='%cd %s' 
--date=short "$b")"
+  done | sort -k2 -r
+  ```
+
+- **Backport method:** cherry-pick, preserving the original author and commit 
message. The backport lands as a new SHA on the target branch.
+- **Backport applicability check:** confirm the *defect* exists on the target, 
not just the file — extensions differ between lines (for example 
`extensions-jvm/diagram` does not exist on `3.33.x` or `3.27.x`). Use `git show 
origin/<branch>:<path>`.
+- **Backport migration-guide policy:** 
`docs/modules/ROOT/pages/migration-guide/<version>.adoc` is per release line. A 
change carrying a migration note on `main` must not backport that file; write 
an equivalent note for the target line's own version and add it to 
`migration-guide/index.adoc` on that branch.
 - **Find-task source:** GitHub labels
 - **Find-task beginner label:** `good first issue`
 - **Find-task experienced label:** `help wanted`

Reply via email to