Skip to content

Commit

Permalink
Merge pull request #119 from gold2718/submodules
Browse files Browse the repository at this point in the history
New capability to use git submodule info to checkout externals

By default, an external with no specified sub-externals configuration file will
have its submodules checked out according to the information in that repository's
.gitmodules file. This process is recursive.

To prevent submodules from being checked out, the external description for that
repository should be listed as "externals = none".

To use submodule URL, local path, and reference hash information for a
sub-external, replace the 'local_path', 'repo_url', and 'branch' 'hash' or 'tag'
keywords with "from_submodule = True".

User interface changes?: Yes
externals keyword can be "none" to prevent loading submodules.
from_submodule keyword can be used to replace external configuration information
with information from a repository's submodule configuration.

Fixes: #96

Testing:
test removed: none
unit tests: all pass
system tests: all pass, added TestSubrepoCheckout to test new functionality
manual testing: Tests with ESCOMP/MOM_interface (see below)

    Just run checkout_externals: no change
    Remove "externals = ../Externals_MOM.cfg" from Externals.cfg: All four submodules
    of MOM6 checked out
    Set "externals = none" in Externals.cfg: No submodules checked out (empty directories)
    Modify da_hooks external in Externals_MOM.cfg (see below): da_hooks is checked out with
    MOM6 .gitmodules configuration.

[pkg/MOM6_DA_hooks]
protocol = git
from_submodule = True
required = True
  • Loading branch information
goldy authored May 15, 2019
2 parents 1926530 + f72ffe7 commit a48558d
Show file tree
Hide file tree
Showing 7 changed files with 752 additions and 92 deletions.
Loading

0 comments on commit a48558d

Please sign in to comment.