telling everyone how to manage the new repository images
This commit is contained in:
parent
7fbc0291b7
commit
8a541abd91
@ -140,7 +140,37 @@ them. The primary build should invoke the submodule build, which
|
|||||||
submodule detached head has changed. And therefore, you want it
|
submodule detached head has changed. And therefore, you want it
|
||||||
to change, you want the submodule head to be nameless and
|
to change, you want the submodule head to be nameless and
|
||||||
detached, whenever you modify a submodule as part of a larger
|
detached, whenever you modify a submodule as part of a larger
|
||||||
project where you test your changes by rebuilding the whole project to make sure all your related changes fit together.
|
project where you test your changes by rebuilding the whole
|
||||||
|
project to make sure all your related changes fit together.
|
||||||
|
|
||||||
|
When tracking an upstream submodule that has submodules of its
|
||||||
|
own, which have their own upstreams
|
||||||
|
|
||||||
|
Update your version with
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git pull upstream --recurse-submodules=on-demand their-latest release.
|
||||||
|
```
|
||||||
|
|
||||||
|
Make sure things still work. Get everything working. (You do have unit test, right?)
|
||||||
|
|
||||||
|
then:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git submodule foreach --recursive 'git push origin HEAD:your-tracking-branch'
|
||||||
|
git submodule foreach --recursive 'git switch --detach'
|
||||||
|
```
|
||||||
|
|
||||||
|
All of which, of course, presupposes you have already set unit tests,
|
||||||
|
upstream, origin, and your tracking branch appropriately.
|
||||||
|
|
||||||
|
Even though your local modifications are nameless in your local
|
||||||
|
repository, on your remote they need to have a name to be pushed
|
||||||
|
to, hence you need to have a tracking branch in each of your
|
||||||
|
remote images of each of your submodules, and that tracking
|
||||||
|
branch will point to the root of a tree of all the nameless commits
|
||||||
|
that the names and commits in your superproject that contains all
|
||||||
|
these submodules point to.
|
||||||
|
|
||||||
You need an enormous pile of source code, the work of many people over
|
You need an enormous pile of source code, the work of many people over
|
||||||
a very long time, and GitSubmodules allows this to scale, because the
|
a very long time, and GitSubmodules allows this to scale, because the
|
||||||
|
Loading…
Reference in New Issue
Block a user