-
Notifications
You must be signed in to change notification settings - Fork 1
Development Guidelines
Eduard Kerkhoven edited this page Jun 1, 2018
·
1 revision
-
master
branch is protected, direct commits are not allowed, only pull requests from thedevel
branch, should be reviewed before commited, update inmaster
branch triggers an update in model version. -
devel
branch is protected, direct commits are not allowed, only pull requests from semantically named development branches (see below) are allowed.
- Semantic naming of development branches:
action/keyword
, wherekeyword
is briefly description (no spaces) what type of development is done, whileaction
is one of the following:
action | type of changes |
---|---|
feat | new feature added |
fix | fixing of bugs, errors, etc |
refactor | code refactoring (changes in scripts that don't change output) |
style | style/formatting of files, output, etc. |
docs | documentation (e.g. readme, tutorial, etc.) |
chore | chores such as upgrade of software |
- Example branch name:
feat/metIDs
orfix/duplicateRxns
- Commit messages are named
action-object: brief description
, whereaction
is the same as above,object
is one ofmet
,rxn
,gene
orcomp
if applicable, andbrief description
is a longer description of what development is done. - Example commit messages:
feat-met: matched metabolite IDs to iKS1317
orfix-rxns: remove wrongly annotated reactions
.
- The
devel
branch contains the model inXML
(SBML L3V1 FBCv2),YML
and CobraTXT
format. TheXML
file is the one that should be used for I/O, theYML
andTXT
files are only used for tracking changes and should not be used as input for making further changes. - The
master
branch furthermore contains the model in RAVENMAT
andXLSX
format. These are generated using thenewRelease.m
script. - At SysBioChalmers, we do most of our development in RAVEN, and use the
newCommit.m
script in ComplementaryScripts to prepare files (XML
,YML
,TXT
) before each commit. - It is also fine to use other software for development, but ideally update all
XML
,YML
andTXT
files with each commit. At least, each pull request todevel
should contain a 'run' of thenewCommit.m
script, but this can also be done by one of the reviewers.