- Shell 80.8%
- Makefile 11.1%
- Nix 8.1%
Three researched wishes, each with a short note under the table: change ids (small patch, upstream candidate), Pages on repos (templates and pages-relay, no patch), schema registry (buf git inputs now; trial Hades before a fork type). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014pyfmBr47fTDcLKRXsAvEE |
||
|---|---|---|
| patches | ||
| scripts | ||
| upstream@753f7edc77 | ||
| .gitmodules | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| WISHLIST.md | ||
realliance/forgejo
The Realliance soft fork of Forgejo: a short queue of patches, moved onto each new upstream LTS tag. It runs https://git.realliance.net. It starts on v15.0.11 and moves to the 19 LTS in about May 2027.
| Path | What |
|---|---|
upstream/ |
Forgejo as a shallow submodule, pinned to the upstream tag in .gitmodules |
patches/ |
the queue: series sets the order, one git format-patch file per patch, named after its subject |
Makefile, scripts/patches |
the front door and the queue tool (nix develop) |
Commands
Run nix develop, then make to list the targets:
make apply: checks out branchreallianceinupstream/at the pin and applies the series. Make changes there as commits.make export: writes those commits back topatches/. Commitpatches/signed, by PR.make rebase TAG=<tag>: moves the pin, drops merged patches, applies the rest, and prints agit range-diff.make status,make build,make test,make clean.
make wraps scripts/patches; the build targets use the Makefile in upstream/. Only rebase moves
the pin: ignore = all keeps the patched upstream/ out of git status.
The Upstream: trailer
Each patch ends with Upstream: not-needed, Upstream: submitted <url>, or
Upstream: merged <version>. export refuses a patch without one. rebase drops a patch once the
target tag is at or past its merged version.
Tags
Images get tags like vX.Y.Z-realliance.N: the upstream version, then the Realliance build number.
Deploys pin them by digest after Chris reviews them.
Wishes
Each wish goes to the first place that can hold it: the forge's config and templates, then a forge-bot job, then this patch queue, then upstream. A patch that upstream would want goes there too. The list is in WISHLIST.md.
No builds or CI yet
make build builds the binary locally. The planned image build uses the Dockerfile in upstream/ on a small or
medium Azure runner, or on the general runner class. Planned CI posts a git range-diff on every
change to the queue.
GPLv3, as Forgejo; see LICENSE. The LICENSE file inside upstream/ covers that directory.