Skip to content

GIT_submodule

Konor Frick edited this page Jul 26, 2021 · 2 revisions

GIT submodules

A submodule allows you to keep another Git repository in a subdirectory of your repository. The other repository has its own history, which does not interfere with the history of the current repository. This can be used to have external dependencies such as third party libraries for example.

More information on GIT submodules can be found here

1. Download (clone) RAVEN and plugin repositories

The RAVEN repository has been added as a submodule to HYBRID. In order to get RAVEN, you do:

Make sure you are in the hybrid folder

cd <path to your hybrid repository>/hybrid

You have to be on the 'devel' branch of HYBRID, since RAVEN is added to that branch branch.

git checkout devel

update the branch

git pull

to add RAVEN as a submodule

git submodule update --init --recursive
--> git submodule update --init --recursive
Submodule 'raven' (https://github.com/idaholab/raven.git) registered for path 'raven'
Cloning into 'raven'...
...
Submodule path 'raven': checked out 'latest revision hash'
...
Cloning into 'moose'...
...
Submodule path 'moose': checked out 'latest revision hash'
...
Cloning into 'docs/content/media/large_media'...
...
Submodule path 'docs/content/media/large_media': checked out 'latest revision hash'
...
Cloning into 'libmesh'...
...
Submodule path 'libmesh': checked out 'latest revision hash'
...
Cloning into 'plugins/CashFlow'...
...
Submodule path 'plugins/CashFlow': checked out 'latest revision hash'

2. Install and compile RAVEN

Once you have downloaded RAVEN as a sub-module, you have to install it. go to the RAVEN wiki for information about how to install it. A summary is given below:

RAVEN libraries

In particular, the Installation of RAVEN libraries section for your operating system should be consulted in the RAVEN wiki.

RAVEN compilation

Once the libraries are installed, one needs to compile part of RAVEN. To do so, please follow the Compiling RAVEN section for your operating system in the RAVEN wiki.

For most, one should be able to run (inside the RAVEN folder attached to the HYBRID repository)

cd <path to your hybrid repository>/hybrid/raven
./build_raven

Test RAVEN

Once the compilation of RAVEN succeeded, the proper installation can be checked by running the RAVEN tests. To do so, run

cd <path to your hybrid repository>/hybrid/raven
./run_tests

Make sure that all tests pass.

Note: If there are missing libraries, (for example if you get errors like ImportError: No module named <modulename> during compilation) then the Installing RAVEN Libraries page can be used to try and fix the problem. (Only TRANSFORM and RAVEN need to be present for most applications.)

In the raven directory, the command:

cd <path to your hybrid repository>/hybrid/raven
./run_tests --library_report

can be used to see which libraries are being used and which are missing.