FlexSEA Wiki


User Tools

Site Tools


This is an old revision of the document!

Source Code

General information

Most of the projects are on Dephy's github repository. A few legacy repositories are on JFDuval's.

To keep the code base modular we use submodules (Online documentation: Git Tools - Submodules, Using submodules and subrepositories). Some submodules are used by all the projects, while some are more specific. Their code is kept general so it compiles with many flavors of GCC/g++.

The screenshot below shows https://github.com/DephyInc/fx-rigid-mn. We will use it as an example to highlight a few things.

  • fx-rigid-mn is the main project
  • We are currently looking at the 'dev' branch
  • Four submodules are included in this project: flexsea-comm, flesea-shared, flexsea-system and flexsea-user.
  • Next yo each submodule you can see what commit number is used

Cloning a repository and its submodule(s)

To clone a repository in a fresh directory, with its submodules populated, use this command:

git clone --recursive -b branchName https://github.com/DephyInc/RepositoryName.git

If we use the fx-rigid-mn repository as an example, to clone the dev branch we use:

git clone --recursive -b dev https://github.com/DephyInc/fx-rigid-mn.git

When you do that, you get the submodule version that was committed with the main project. As an example, flexsea-comm will be at version 46874a2. This might not be the latest, but its what was committed. Unless the developper made a mistake while committing or pushing the code, this project should compile and work with no tweaking necessary.

Modifying the code

sourcecode.1521571266.txt.gz · Last modified: 2018/03/20 18:41 by jfduval