Contributing to Homer3 and its submodules - BUNPC/Homer3 GitHub Wiki

Homer3 uses git submodules for version control of code it shares with other applications in the openfNIRS software ecosystem.

This complicates contributing to Homer3. To contribute to code within a submodule such as DataTree or Utils, open a pull request with the submodules BUNPC/DataTree or BUNPC/Utils.

To clone the development branch of Homer3 from a GitHub remote with the submodules included:

git clone https://github.com/<GitHub user>/Homer3 --single-branch -b development --recurse-submodules

To add your fork of a submodule to Homer3 repository:

Update .gitmodules with the reference to another repository (such as your fork): git config --file=.gitmodules submodule.**<Name of submodule>**.url https://github.com/**<url of forked submodule>** Repeat this for any submodules you intend to contribute to, i.e. git config --file=.gitmodules submodule.DataTree.url https://github.com/sstucker/DataTree git config --file=.gitmodules submodule.Utils.url https://github.com/sstucker/Utils

After changing the .gitmodules files, call git submodule sync

These submodules must be updated, committed to, branched, and otherwise managed like standalone Git repositories.