🧭 Step Plan – Working with Repositories Containing Submodules
This guide explains how to work with a main repository (e.g. EVOLV) that includes several submodules, such as measurement, analytics, or reporting. Use this process when you want to make changes in your own fork while keeping compatibility with the central R&D repositories.
1️⃣ Fork the Main Repository
Fork the EVOLV repository into your own account. This can be done in Gitea under the R&D namespace.
Example:
Fork https://gitea.centraal.wbd-rd.nl/RnD/EVOLV
→ https://gitea.centraal.wbd-rd.nl/r.de.ren/EVOLV
2️⃣ Fork the Submodules You Need
If you plan to modify any submodules (for example measurement or analytics), fork those repositories as well. Alternatively, you can create your own submodule repository.
Example:
Fork https://gitea.centraal.wbd-rd.nl/RnD/measurement
→ https://gitea.centraal.wbd-rd.nl/r.de.ren/measurement
3️⃣ Clone the Main Repository (Including Submodules)
When cloning your fork, include all submodules:
git clone --recurse-submodules https://gitea.centraal.wbd-rd.nl/r.de.ren/EVOLV.git
If you already cloned without submodules:
git submodule update --init --recursive
4️⃣ Update Submodule URLs (if you Forked Them)
If you’ve forked any submodules, update your .gitmodules file to point to your own repositories:
[submodule "measurement"] path = measurement url = https://gitea.centraal.wbd-rd.nl/r.de.ren/measurement.git
Then run:
git submodule sync git submodule update --init --recursive
5️⃣ Work on the Code
You can now make changes in either the main repo or submodules. Commit and push your work as usual:
git add . git commit -m "Added new measurement logic" git push origin main
💡 Tip: For submodules, commit inside the submodule first, then commit the updated submodule reference in the main repo.
6️⃣ Keep Your Fork Updated
To stay up-to-date with the main R&D repository:
git remote add upstream https://gitea.centraal.wbd-rd.nl/RnD/EVOLV.git git fetch upstream git merge upstream/main git submodule update --remote
7️⃣ Create a Pull Request
When your changes are ready, open a Pull Request in Gitea to merge your work back into the central EVOLV repository.
🧩 Location: https://gitea.centraal.wbd-rd.nl/RnD/EVOLV/pulls
✅ Summary Table Step Action Example Command 1 Fork main repo EVOLV → r.de.ren/EVOLV 2 Fork submodules measurement → r.de.ren/measurement 3 Clone with submodules git clone --recurse-submodules ... 4 Update submodule URLs Edit .gitmodules 5 Work on code git commit & git push 6 Sync with upstream git fetch upstream 7 Create PR via Gitea UI