Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
TurTLE
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
TurTLE
TurTLE
Commits
f792b1ad
Commit
f792b1ad
authored
9 years ago
by
Chichi Lalescu
Browse files
Options
Downloads
Patches
Plain Diff
add description of versioning guidelines
parent
d5d799e2
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
README.rst
+57
-0
57 additions, 0 deletions
README.rst
done.txt
+1
-0
1 addition, 0 deletions
done.txt
todo.txt
+7
-8
7 additions, 8 deletions
todo.txt
with
65 additions
and
8 deletions
README.rst
+
57
−
0
View file @
f792b1ad
...
...
@@ -13,6 +13,14 @@ in the repository), and it is working as expected. Parameters and
statistics are stored in HDF5 format, together with code information,
so simulation data should be "future proof".
Users of this code are expected to either use `NavierStokes` objects
directly, or construct their own class that inherits this class.
The way I use it is to I inherit and add custom statistics as necessary; I
also have private C++ code that can get added and used when needed.
I plan on adding documentation on the procedure as when other people
show interest in using the code, or when time permits.
Installation
------------
...
...
@@ -51,3 +59,52 @@ Comments
compatibility should be kept since mayavi (well, vtk actually) only
works on Python 2.
===========
Development
===========
`bfps` is using `git` for version tracking (see https://git-scm.com/
for description).
The branching model described at
http://nvie.com/posts/a-successful-git-branching-model/ should be
adhered to as strictly as possible.
The usable `VERSION` number will be constructed according to semantic
versioning rules (see http://semver.org/), `MAJOR.MINOR.PATCH`.
In principle, if you use `bfps` and you've created children of the
`NavierStokes` class, you should not need to rewrite your code unless
the `MAJOR` version changes.
Versioning guidelines
---------------------
There are 2 main branches, `master` and `develop`.
`setup.py` will call `git` to read in the `VERSION`: it will get the
latest available tag.
If the active branch name contains either of the strings `develop`,
`feature` or `bugfix`, then the full output of `git describe --tags`
will be used;
otherwise, only the string before the dash (if a dash exists) will be
used.
At the moment the following rules seem adequate.
Once I get feedback from someone who actually knows how to handle bigger
projects, these may change.
1. New features are worked on in branches forked from `develop`, with
the branch name of the form `feature/bla`.
Feature branches are merged back into `develop` only after all tests
pass.
2. Whenever the `develop` branch is merged into `master`, the last
commit on the `develop` branch is tagged with `MAJOR.MINOR`.
3. Whenever a bug is discovered in version X.Y, a new branch called `vX.Y`
is forked from the corresponding `master` merge point.
A new bugfix branch is forked from `vX.Y`, the bug is fixed, and then
this bugfix branch is merged into all affected branches (this includes
`vX.Y`).
After merging, the respective merge points are tagged adequately (`vX.Y`
gets the tag X.Y.1).
4. Whenever a bug is discovered in version X.Y.Z, a bugfix branch is
forked from `vX.Y`, and then rule 3 is adapted accordingly.
This diff is collapsed.
Click to expand it.
done.txt
+
1
−
0
View file @
f792b1ad
x 2015-12-04 make code py3 compatible @python3
x 2015-12-23 decide on versioning system +merge0
This diff is collapsed.
Click to expand it.
todo.txt
+
7
−
8
View file @
f792b1ad
(B) FFTW interpolator doesn't need its own field @optimization +
merge
0
(B) compute z polynomials only when needed @optimization +
merge
0
(B) get rid of temporal interpolation @optimization +
merge
0
(B) move get_grid coords to interpolator @optimization +
merge
0
(B) FFTW interpolator doesn't need its own field @optimization +
v1.
0
(B) compute z polynomials only when needed @optimization +
v1.
0
(B) get rid of temporal interpolation @optimization +
v1.
0
(B) move get_grid coords to interpolator @optimization +
v1.
0
(B) use less memory @optimization
(C) clean up machine_settings mess @design @documentation +
merge1
(C) clean up machine_settings mess @design @documentation +
v2.0
(C) code overview @documentation
(C) decide on versioning system +merge0
(C) move stat I/O to cpp lib @design @HDF5 +merge1
(C) set up mechanism for adding in new PDEs @design +merge1 +alternate_algorithms
(C) move stat I/O to cpp lib @design @HDF5
(C) set up mechanism for adding in new PDEs @design +v2.0 +alternate_algorithms
(C) test involving hydrodynamic similarity @tests
(C) use HDF5 io for fields @design @HDF5 +I/O
(D) test anisotropic grids @tests
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment