This directory contains the third-party software Tenzir uses. We manage it via
git subtree
or git submodule
.
- CAF https://github.com/actor-framework/actor-framework
- fast_float https://github.com/fastfloat/fast_float
- simdjson https://github.com/simdjson/simdjson
- robin-map: git@github.com:Tessil/robin-map.git
To add a new repository foo at location REMOTE
(e.g.,
git@github.com:.../foo.git
), perform the following steps:
- Add a new mapping above that specifies the remote location
-
Add the repository as a submodule:
git submodule add REMOTE aux/foo git -C aux/foo checkout COMMIT git commit -a -m 'Add 3rd-party library foo'
-
Add the repository as a subtree:
git subtree add --prefix=aux/foo --squash REMOTE main
To update an existing repository foo, perform the following steps:
-
Run
git -C aux/foo fetch
to synchronize with the remote -
Check out the commit that should be tracked:
git -C aux/foo checkout COMMIT
-
Go to the top-level directory of the Tenzir repository
-
Create a commit for the updated submodule reference
git commit -a -m 'Update aux/foo'
-
Locate the remote location for foo (e.g., REMOTE)
-
Go to the top-level directory of the Tenzir repository
-
Pull from the remote repository:
git subtree pull --prefix aux/foo REMOTE main --squash
-
Commit your changes:
git commit -a -m 'Update aux/foo'
- Compile Tenzir, run the unit tests, and perform potentially necessary adaptations resulting from the update