34 lines
1.3 KiB
Markdown
34 lines
1.3 KiB
Markdown
|
Submodules
|
||
|
==========
|
||
|
|
||
|
While most developers will not have to deal with submodules on a
|
||
|
regular basis, those who do should read this information. The
|
||
|
submodules currently in this project are:
|
||
|
|
||
|
- `src/Modules/Pester`: The Pester testing framework for PowerShell
|
||
|
|
||
|
- `src/libpsl-native/test/googletest`: The GoogleTest framework for
|
||
|
Linux native code
|
||
|
|
||
|
[submodules]: https://www.git-scm.com/book/en/v2/Git-Tools-Submodules
|
||
|
|
||
|
Rebase and Fast-Forward Merge Pull Requests in Submodules
|
||
|
=========================================================
|
||
|
|
||
|
*This is not necessary in the superproject, only submodules!*
|
||
|
|
||
|
**DO NOT** commit updates unless absolutely necessary. When submodules
|
||
|
must be updated, a separate Pull Request must be submitted, reviewed,
|
||
|
and merged before updating the superproject.
|
||
|
|
||
|
Because GitHub's "Merge Pull Request" button merges with `--no-ff`, an
|
||
|
extra merge commit will always be created. This is especially annoying
|
||
|
when trying to commit updates to submodules. Therefore our policy is
|
||
|
to merge using the Git CLI after approval, with a rebase onto master
|
||
|
to enable a fast-forward merge.
|
||
|
|
||
|
When committing submodule updates, ensure no other changes are in the
|
||
|
same commit. Submodule bumps may be included in feature branches for
|
||
|
ease of work, but the update must be independently approved before
|
||
|
merging into master.
|