1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-04-14 16:27:13 +03:00

Clarify what stable and beta branches may contain. Describe release tags.

* Both `stable` and `beta` might contain extra commits for hotfixes beyond
what is currently released.
* Describe the Stable Release tag form, and point out that currently
the pre-release tag form is the same.
This commit is contained in:
Athanasius 2020-07-15 10:43:30 +01:00
parent 1a16d6971a
commit 09be5505bc

View File

@ -37,13 +37,19 @@ Git branch structure and tag conventions
---
Somewhat based on git-flow, but our particular take on it:
* `stable` - The HEAD of this Branch should always point to the code that was used in the last released stable version.
### Branches
* `stable` - This will either have `HEAD` pointing to the latest stable
release code *or* might have extra code merged in for a hotfix that will
shortly be in the next stable release. If you want the latest stable release
code then use the appropriate `Release/A.B.C.D` tag!
* `beta` - If we run any pre-release betas *with actual builds released, not
just a branch to be run from source*, then the HEAD of this Branch should
always point to the code that was used in the last beta version. *This means
that if there hasn't yet been a new beta version this could be far behind
all of: main, develop, stable.*
just a branch to be run from source*, then this branch will contain that
code. As per `stable` above, this branch might be ahead of the latest
pre-release due to merging of hotfixes. Use the appropriate tag if you want
to be sure of the code you checkout.
*If there hasn't yet been a new beta version this could be far behind all
of: `main`, `develop`, `stable`.*
* `develop` - This is the branch where all current development is integrated. No commits should be made directly
to this as the work should be done in a separate branch used in a Pull Request before being merged as part of
@ -64,6 +70,23 @@ but some care will be necessary to ensure no users are left behind (their client
then no longer exists). For the time being this should always be kept in sync with `stable` as each new release is
made.
### Tags
#### Stable Releases
All stable releases **MUST** had a tag of the form `Release/A.B.C.D` on the
commit that was `HEAD` when the installer for it was built.
#### Pre-Releases
Currently the tags for pre-releases are of the same form as those for stable
releases. This will change in the future when the project for [full semantic
versioning](https://github.com/EDCD/EDMarketConnector/projects/4) is completed.
This does mean that some care should be taken. If the current stable
release is `4.0.1.0` then you should 'guess' at the pre-release version
needing to be either `4.1.0.0` or `5.0.0.0` depending on what has changed.
---
Work in progress conventions
---
Remember, you should always be working versus a single issue, even if the work is part of a Milestone or Project.