Skip to content

Commit 9b6e85b

Browse files
Copilotpetesramek
andauthored
docs: make back-merge to main mandatory in branch-strategy.md
Agent-Logs-Url: https://github.com/petesramek/polyline-algorithm-csharp/sessions/348e56c2-89f8-49f4-9cdc-cac961b71936 Co-authored-by: petesramek <2333452+petesramek@users.noreply.github.com>
1 parent 2264ed4 commit 9b6e85b

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

docs/branch-strategy.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,17 +39,20 @@ This document describes the branch model, the purpose of each branch type, and h
3939
│ PR open → [pull-request.yml]
4040
│ PR merged → [release.yml]: publish-NuGet (stable), GitHub release, docs, creates support/X.Y (first time only)
4141
42-
5. Back-merge (optional)
43-
└─ Manual PR: release/X.Y → main
42+
5. Back-merge to main (automatic, highest version only)
43+
└─ [release.yml] creates PR: release/X.Y → main (only when X.Y is the highest release branch)
44+
45+
│ PR merged → main is updated to the latest stable source
4446
```
4547

4648
## Rules Per Branch Type
4749

4850
### `main`
4951

50-
- Represents the current stable release.
52+
- Represents the latest stable release — always in sync with the highest released version.
5153
- Direct pushes are not allowed (protected).
52-
- Updated by merging from `release/X.Y` after a stable release.
54+
- Updated automatically via a PR created by `release.yml` whenever the highest `release/X.Y` branch publishes a stable release.
55+
- Serves as the baseline for version bumps: new development versions are derived from the state of `main` at the point the previous release left off.
5356
- The `build.yml` workflow does **not** trigger on `main` pushes (branch-ignore pattern excludes `preview/**` and `release/**`, and `main` does not match `src/**` changes by default in the context of the ignore rules — check the workflow for current specifics).
5457

5558
### `develop/X.Y`
@@ -92,6 +95,7 @@ This document describes the branch model, the purpose of each branch type, and h
9295
- Locked immediately: requires at least one PR approval.
9396
- On merge, `release.yml` publishes a **stable** NuGet package and a GitHub release.
9497
- After the first stable release, a corresponding `support/X.Y` branch is auto-created.
98+
- When `X.Y` is the highest release branch, `release.yml` automatically opens a PR to merge back into `main`, keeping `main` in sync with the latest stable state.
9599

96100
## Version in Branch Names
97101

0 commit comments

Comments
 (0)