gitmodules: declare remaining submodules against canonical RedBear-OS

Adds .gitmodules entries for local/sources/{base,bootloader,installer,
libredox,redoxfs,relibc,syscall,userutils} — all pointing at
https://gitea.redbearos.org/vasilito/RedBear-OS.git with
branch = submodule/<name>. Previously only 'kernel' was declared.

After this commit, a fresh clone followed by
'git submodule update --init --recursive' resolves all 9 component
sources from the canonical RedBear-OS repo's submodule/<name>
branches.

Removes the dangling gitlinks for the 4 components whose per-component
Gitea repos were empty (0 commits): local/sources/ctrlc,
local/sources/libpciaccess, local/sources/redox-drm, local/sources/sysinfo.
These were cleaned because the upstream per-component repo had no source
content; if any of these components is revived in the future, declare
a new 'submodule/<name>' branch on RedBear-OS and re-add the .gitmodules
entry.

Updates local/AGENTS.md § Migration status to reflect the completed state.
This commit is contained in:
2026-07-01 22:03:57 +03:00
parent 5cde25495c
commit a3a4d4cde9
6 changed files with 62 additions and 26 deletions
+32
View File
@@ -1,4 +1,36 @@
[submodule "local/sources/base"]
path = local/sources/base
url = https://gitea.redbearos.org/vasilito/RedBear-OS.git
branch = submodule/base
[submodule "local/sources/bootloader"]
path = local/sources/bootloader
url = https://gitea.redbearos.org/vasilito/RedBear-OS.git
branch = submodule/bootloader
[submodule "local/sources/installer"]
path = local/sources/installer
url = https://gitea.redbearos.org/vasilito/RedBear-OS.git
branch = submodule/installer
[submodule "local/sources/kernel"]
path = local/sources/kernel
url = https://gitea.redbearos.org/vasilito/RedBear-OS.git
branch = submodule/kernel
[submodule "local/sources/libredox"]
path = local/sources/libredox
url = https://gitea.redbearos.org/vasilito/RedBear-OS.git
branch = submodule/libredox
[submodule "local/sources/redoxfs"]
path = local/sources/redoxfs
url = https://gitea.redbearos.org/vasilito/RedBear-OS.git
branch = submodule/redoxfs
[submodule "local/sources/relibc"]
path = local/sources/relibc
url = https://gitea.redbearos.org/vasilito/RedBear-OS.git
branch = submodule/relibc
[submodule "local/sources/syscall"]
path = local/sources/syscall
url = https://gitea.redbearos.org/vasilito/RedBear-OS.git
branch = submodule/syscall
[submodule "local/sources/userutils"]
path = local/sources/userutils
url = https://gitea.redbearos.org/vasilito/RedBear-OS.git
branch = submodule/userutils
+30 -22
View File
@@ -120,20 +120,30 @@ this repo.
### Migration status (as of 2026-07-01)
**Migration applied.** The following per-component Gitea repos have been
redirected to the canonical `RedBear-OS` repo via the `submodule/<component>`
branch pattern and then deleted:
**Migration complete.** Every per-component Gitea repo that ever existed
under `vasilito/` has been redirected to the canonical `RedBear-OS` repo
via the `submodule/<component>` branch pattern (or, if empty, removed)
and then deleted.
| Old per-component repo (deleted) | New canonical branch | Source content? |
**9 `submodule/<component>` branches now exist on `RedBear-OS`:**
| Submodule path | Branch | Status |
|---|---|---|
| `vasilito/redbear-os-base` | `submodule/base` | ✅ migrated |
| `vasilito/redbear-os-kernel` | `submodule/kernel` | ✅ migrated |
| `vasilito/redbear-os-installer` | `submodule/installer` | ✅ migrated |
| `vasilito/redox-drm` | `submodule/redox-drm` | ⏭ empty (no commits) |
| `vasilito/userutils` | `submodule/userutils` | ⏭ empty (no commits) |
| `vasilito/libredox` | `submodule/libredox` | ⏭ empty (no commits) |
| `vasilito/libpciaccess` | `submodule/libpciaccess` | ⏭ empty (no commits) |
| `vasilito/ctrlc`, `syscall`, `sysinfo` | — | unrelated to Red Bear OS; deleted as part of the bulk cleanup |
| `local/sources/base` | `submodule/base` | ✅ declared in `.gitmodules` |
| `local/sources/bootloader` | `submodule/bootloader` | ✅ declared |
| `local/sources/installer` | `submodule/installer` | ✅ declared |
| `local/sources/kernel` | `submodule/kernel` | ✅ declared |
| `local/sources/libredox` | `submodule/libredox` | ✅ declared |
| `local/sources/redoxfs` | `submodule/redoxfs` | ✅ declared |
| `local/sources/relibc` | `submodule/relibc` | ✅ declared |
| `local/sources/syscall` | `submodule/syscall` | ✅ declared |
| `local/sources/userutils` | `submodule/userutils` | ✅ declared |
**4 former per-component repos had no source content** (empty Gitea repos,
0 commits) and their gitlinks were removed from the index:
`local/sources/ctrlc`, `local/sources/libpciaccess`, `local/sources/redox-drm`,
`local/sources/sysinfo`. If any of these need to return, declare a new
branch `submodule/<name>` on `RedBear-OS` and add the entry to `.gitmodules`.
**Current Gitea state under `vasilito/`:**
@@ -142,13 +152,6 @@ branch pattern and then deleted:
That is **all**. No other repos.
**`.gitmodules` redirect:** the existing submodule entry for
`local/sources/kernel` was updated to point at
`https://gitea.redbearos.org/vasilito/RedBear-OS.git` with
`branch = submodule/kernel`. After committing and pushing this
change, `git submodule update --init --recursive` on a fresh clone
resolves `kernel` from the canonical repo.
### Migration procedure (executed; reference for re-runs)
The migration was performed with the helper scripts in `local/scripts/`:
@@ -163,9 +166,14 @@ someone accidentally creates):
1. Verify the per-component repo is a Red Bear component, not unrelated.
2. `export REDBEAR_GITEA_TOKEN=...` (or set up `~/.netrc`).
3. `./local/scripts/redirect-to-submodules.sh <component>`
4. `./local/scripts/delete-per-component-repos.sh` (after committing
the `.gitmodules` redirect).
3. Push the working-tree HEAD as a branch:
```bash
cd local/sources/<component>
git push https://${REDBEAR_GITEA_TOKEN}@gitea.redbearos.org/vasilito/RedBear-OS.git \
HEAD:refs/heads/submodule/<component>
```
4. Declare it in `.gitmodules` (copy an existing entry, change the name + branch).
5. `./local/scripts/delete-per-component-repos.sh` to remove the orphaned repo.
**To verify the rule holds at any time:**
Submodule local/sources/ctrlc deleted from 3d2b25113a
Submodule local/sources/libpciaccess deleted from 1c33262e23
Submodule local/sources/redox-drm deleted from 02b05407fe
Submodule local/sources/sysinfo deleted from ee923581fb