Moving ext components to dedicated repos
The goal is to move all external components maintained in ext/ to individual repositories managed by the project as forks of upstream components with local changes integrating those into Zephyr using the module concept.
Have a fork of the upstream code maintained in a pristine state in a branch (master) and maintain changes needed for Zephyr in a zephyr branch. The zephyr branch will have the integration using:
How to move components from ext/
git filter-branch it is possible to filter the commits related to a specific folder and create a new history for just the files in that directory, for example for QMSI:
git clone email@example.com:zephyrproject-rtos/zephyr.git hal_qmsi cd hal_qmsi git filter-branch --prune-empty --subdirectory-filter ext/hal/qmsi master
This will result in only the commits that touched the code in
- For code that is maintained in a git repository, how do we restore common history with the upstream project