... | ... | @@ -6,7 +6,8 @@ |
|
|
|
|
|
[[_TOC_]]
|
|
|
|
|
|
## Repository Structure
|
|
|
|
|
|
## Repository structure
|
|
|
|
|
|
OpenFOAM follows a
|
|
|
[branching workflow](https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows)
|
... | ... | @@ -16,7 +17,7 @@ with the following main branches: |
|
|
|-------------|---------------|
|
|
|
| `master` | Bugfix updates since the last release, should always be stable and runnable (suitable for production) |
|
|
|
| `develop` | Current developments, slated for the next release. The code in develop is generally quite stable, but minor regressions may occasionally occur. |
|
|
|
| `maintenance-v1906` ... | Bugfix branches for previous releases, should always be stable and runnable (suitable for production) |
|
|
|
| `maintenance-v1912` ... | Bugfix branches for previous releases, should always be stable and runnable (suitable for production) |
|
|
|
|
|
|
When a new code version is released, `master`
|
|
|
is renamed `maintenance-{prevRelease}` and a new `master` is created at release.
|
... | ... | @@ -45,7 +46,7 @@ cd ../ThirdParty-common |
|
|
git checkout -b develop --track remotes/origin/develop
|
|
|
```
|
|
|
|
|
|
### ***Cautionary Note***
|
|
|
### ***Cautionary note***
|
|
|
|
|
|
The ThirdParty repository only contains configuration and build
|
|
|
scripts (and patches) for integrating third-party software.
|
... | ... | @@ -75,10 +76,8 @@ git checkout -b bugfix-ABC |
|
|
```
|
|
|
Add functionality in the usual way, e.g. adding and committing code changes.
|
|
|
|
|
|
|
|
|
- For ease of integration and long-term maintenance, developed code
|
|
|
should observe the [OpenFOAM coding style][code-style].
|
|
|
|
|
|
- It may also be useful to note various [coding patterns][code-patterns]
|
|
|
during development.
|
|
|
|
... | ... | @@ -106,13 +105,17 @@ git branch -d feature-ABC |
|
|
```
|
|
|
|
|
|
|
|
|
## Code Merging
|
|
|
## Code merging
|
|
|
|
|
|
The `master` branch should only be updated by features that ***do not break backwards compatibility with the latest release*** typically comprising bugfixes, and occasional small/modular components that are near *release-ready*.
|
|
|
All new capabilities should reside on their own branch until ready to be merged into the `develop` branch.
|
|
|
At release the `develop` branch is frozen and tested prior to merging into the `master` branch.
|
|
|
|
|
|
|
|
|
----
|
|
|
|
|
|
Copyright (C) 2020 OpenCFD Ltd.
|
|
|
|
|
|
[code-patterns]: /coding/patterns/patterns
|
|
|
[code-style]: /coding/style/style
|
|
|
|
... | ... | |