2017-12-13 01:07:12 +01:00
|
|
|
# Submodules
|
2016-04-07 22:46:00 +02:00
|
|
|
|
2017-04-11 18:44:43 +02:00
|
|
|
While most developers will not have to deal with submodules on a regular basis, those who do should read this information.
|
2016-07-17 15:21:13 +02:00
|
|
|
The submodules currently in this project are:
|
2016-04-07 22:46:00 +02:00
|
|
|
|
|
|
|
- `src/libpsl-native/test/googletest`: The GoogleTest framework for
|
|
|
|
Linux native code
|
|
|
|
|
|
|
|
[submodules]: https://www.git-scm.com/book/en/v2/Git-Tools-Submodules
|
|
|
|
|
2017-12-13 01:07:12 +01:00
|
|
|
## Rebase and Fast-Forward Merge Pull Requests in Submodules
|
2016-04-07 22:46:00 +02:00
|
|
|
|
2017-12-13 01:07:12 +01:00
|
|
|
Note: *This is not necessary in the superproject, only submodules!*
|
2016-04-07 22:46:00 +02:00
|
|
|
|
2017-04-11 18:44:43 +02:00
|
|
|
**DO NOT** commit updates unless absolutely necessary.
|
2016-07-17 15:21:13 +02:00
|
|
|
When submodules must be updated, a separate Pull Request must be submitted, reviewed, and merged before updating the superproject.
|
2016-04-07 22:46:00 +02:00
|
|
|
|
2017-04-11 18:44:43 +02:00
|
|
|
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.
|
2016-07-17 15:21:13 +02:00
|
|
|
Therefore our policy is to merge using the Git CLI after approval, with a rebase onto master to enable a fast-forward merge.
|
2016-04-07 22:46:00 +02:00
|
|
|
|
2017-04-11 18:44:43 +02:00
|
|
|
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,
|
2016-07-17 15:21:13 +02:00
|
|
|
but the update must be independently approved before merging into master.
|