still moving, always one more thing

This commit is contained in:
Cheng 2022-06-13 13:57:43 +10:00
parent 8a541abd91
commit 2d942dbb50
No known key found for this signature in database
GPG Key ID: D51301E176B31828
2 changed files with 15 additions and 11 deletions

View File

@ -149,7 +149,7 @@ own, which have their own upstreams
Update your version with
```bash
git pull upstream --recurse-submodules=on-demand their-latest release.
git pull upstream --recurse-submodules=on-demand «their-latest-release»
```
Make sure things still work. Get everything working. (You do have unit test, right?)
@ -157,20 +157,24 @@ Make sure things still work. Get everything working. (You do have unit test, r
then:
```bash
git submodule foreach --recursive 'git push origin HEAD:your-tracking-branch'
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.
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.
Even if your local modifications are nameless in your local
submodule repository, on your remote submodule repository 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 need to point to the root
of a tree of all the nameless commits that the names and commits
in your superproject that contains this submodules point to.
You want `.gitmodules` in your local image of the repository to
reflect the location and fork of your new remote repository, with
your remote as its `origin` and their remote as its `upstream`.
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

@ -1 +1 @@
Subproject commit 57e4e5d70599a019a7497ce626f58687a6d67605
Subproject commit 14c6b431626b817bd7564f4ee3480299307533fa