Setup your development environment#
Note
These steps are mostly intended as a tutorial for internal developers (at CEA). As such, links are using the internal network. If you do not have access, use the github repository. To obtain externalpackages (all dependencies for TRUST), use wget.
Clone TrioCFD#
Before developing, you need to clone the Git repository of TrioCFD and its dependencies (Trust).
To do that, you have to use the git clone
command, which take as argument an url to a git repo and downloads it.
To download everything you need, use the following commands:
git clone ssh://gitolite@ssh-codev-tuleap.intra.cea.fr:2044/triocfd/triocfd-code.git
git clone ssh://gitolite@ssh-codev-tuleap.intra.cea.fr:2044/trust/trust-code.git
cd trust-code
git clone ssh://gitolite@ssh-codev-tuleap.intra.cea.fr:2044/trust/externalpackages.git
After using these command, your current directory will have these directories, each following a git repository:
triocfd-code
trust-code
| externalpackages
In each of these repositories, there are two important branches:
master
: most recent official version: 1.x.xnext
: continuous integration branch. Finalized developments are regularly uploaded there. Once ready, it will become the next official release (in master branch).
Note
For external collaborators, you can obtain TRUST/TrioCFD from Github and externalpackages with
wget ftp://ftp.cea.fr/pub/TRUST/externalpackages/externalpackages-next.tar
tar xf externalpackages-next.tar
Checkout correct branch#
When you start developing at first, you probably want to start from the branch next
. To reach it, use
git checkout next
Before compiling the code, you have to do this in each repository (trio, trust and external packages).
Then, to compile the code, you first compile TRUST, then TrioCFD:
# in trust-code
./configure && make
# in triocfd-code
baltik_build_configure -execute
make optim # or make debug, or both
Caution
Sometimes the branch next
of the Trust repository may be in advance compared the branch next
of TrioCFD !
This may happen if an integration is done on Trust that impacts TrioCFD, and the integration of fixes for TrioCFD is delayed.
In this case, TrioCFD will not compile with the branch next
from Trust.
To solve this, you have to go to the correct Trust commit. This is indicated by the file src/trust.commit
in the TrioCFD repository.
This file contains the hash of the Trust commit on which TrioCFD was last compiled. To go to the correct commit on trust, use (in trust-code directory)
git checkout <hash>
where <hash>
is the content of the file src/trust.commit
.
Create your working branch#
Before you begin development, you will need to create your own branch.
When you first start developing, you probably want to start from the most recent developments, which are on branch next
. If you followed the tutorial in the previous section, you should be on this branch. You can check with git status, as explained in the previous section.
For internal developpers (CEA)
Please follow the procedure described below to choose the name for your branch.
In order to help tracking undergoing development, we ask you to follow some rules in naming branches:
Your branch has to have a describing ticket in the Tuleap Bugtracker, and the ticket number must be in the branch name. To do that, follow these steps:
First, go to the Tuleap Bugtracker and create a ticket describing your planned developments. You will be able to update this description later.
The ticket will be given a six-digits number like 123456
Then, in the name of your branch, include the text ‘TCFD123456’, preferably at the end so it is easier to use auto-completion of branch name.
This is mostly for long term developments implementing new features (if you create a branch with a small fix and do a PR right after, no need).
Tip: to help keep track of your own branches, you can start the name of your branches with a unique short alias that belongs to you.
To help people (and yourself) know what the branch is about, add keywords or a short description (up to 5 words) in the name.
The result should look like
name/short_description_TCFD123456
. Then you can easily find all your branches with autocompletion when you typegit checkout name/
.Often, you will need to change some code in TRUST alongside your developments in TrioCFD. In this case, use the same name for corresponding branches in both codes.
After finding a suitable branch name, you can create the branch with the following commands:
git checkout -b <branch_name>
git push -u origin <branch_name>
See the git tutorial section on branches for more information.