4960e6e39c
Moved notes on submodules out of contributing guidelines and into `docs/git/submodules.md` as most developers will touch them infrequently now.
44 lines
1.6 KiB
Markdown
44 lines
1.6 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
|
|
|
|
- `src/windows-build`: Collection of pre-generated artifacts required
|
|
until .NET CLI deprecates them (C# resource bindings) and NuGet
|
|
packages that will soon be moved to a MyGet feed
|
|
|
|
- `src/omi`: The Open Management Infrastructure project for PSRP on
|
|
Linux (to be removed)
|
|
|
|
- `src/omi-provider`: The OMI provider for PSRP on Linux (to be
|
|
removed)
|
|
|
|
[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.
|