Realliance soft fork of Forgejo: a patch queue on upstream LTS tags (GPLv3)
  • Shell 80.8%
  • Makefile 11.1%
  • Nix 8.1%
Find a file
Christopher Miller 20ae9c3657
WISHLIST: change ids, Pages on repos, schema registry (#5)
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
2026-11-05 04:00:12 +00:00
patches Scaffold the soft fork: an empty patch queue on Forgejo v15.0.11 2026-11-04 07:52:08 -08:00
scripts Scaffold the soft fork: an empty patch queue on Forgejo v15.0.11 2026-11-04 07:52:08 -08:00
upstream@753f7edc77 Scaffold the soft fork: an empty patch queue on Forgejo v15.0.11 2026-11-04 07:52:08 -08:00
.gitmodules Scaffold the soft fork: an empty patch queue on Forgejo v15.0.11 2026-11-04 07:52:08 -08:00
flake.lock Scaffold the soft fork: an empty patch queue on Forgejo v15.0.11 2026-11-04 07:52:08 -08:00
flake.nix Makefile front door: help, status, apply, export, rebase, build, test, clean 2026-11-04 08:01:53 -08:00
LICENSE Scaffold the soft fork: an empty patch queue on Forgejo v15.0.11 2026-11-04 07:52:08 -08:00
Makefile Makefile front door: help, status, apply, export, rebase, build, test, clean 2026-11-04 08:01:53 -08:00
README.md Makefile front door: help, status, apply, export, rebase, build, test, clean 2026-11-04 08:01:53 -08:00
WISHLIST.md WISHLIST: change ids, Pages on repos, schema registry (#5) 2026-11-05 04:00:12 +00:00

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 branch realliance in upstream/ at the pin and applies the series. Make changes there as commits.
  • make export: writes those commits back to patches/. Commit patches/ signed, by PR.
  • make rebase TAG=<tag>: moves the pin, drops merged patches, applies the rest, and prints a git 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.