Context
The librtbit crate family is being migrated off the self-hosted Forgejo instance (http://100.92.54.45:3002/indexarr/…) to GitHub sources. Leaf/mid crates are done — e.g. librtbit-upnp-serve and librtbit-lsd were migrated to GitHub git deps and build green on CI. librtbit itself (the integrator) does not migrate mechanically.
Problem
Repointing librtbit's 11 internal git deps from Forgejo to GitHub leaves it unbuildable under either pinning strategy:
-
Pin to tag = "v0.1.0" (GitHub URLs): 73 compile errors from a diamond dependency. librtbit pulls librtbit-core from github.com/TheDancingDeveloper-org/librtbit-core.git?tag=v0.1.0, while sibling v0.1.0 tags still declare their deps against the older github.com/AusAgentSmith-org/... org (repos went AusAgentSmith-org → Forgejo → TheDancingDeveloper-org). Same commit SHA, two source URLs → Cargo compiles two librtbit-core crates → incompatible Id20/Id<N> types.
source = "git+https://github.com/AusAgentSmith-org/librtbit-core.git?tag=v0.1.0#4de7c0b…"
source = "git+https://github.com/TheDancingDeveloper-org/librtbit-core.git?tag=v0.1.0#4de7c0b…"
(e.g. librtbit-dht @ v0.1.0 declares librtbit-core = { git = ".../AusAgentSmith-org/librtbit-core.git", tag = "v0.1.0" }.)
-
Track sibling main (no tag): no diamond (mains are consistently on TheDancingDeveloper-org), but sibling APIs have drifted past what librtbit's source targets — e.g. TrackerComms::start() gained udp_tracker_client and a TrackerStatusRegistry argument. librtbit's source (src/session/{mod,types,peer_sources}.rs, tracker wiring) needs updating.
Options
- Re-cut the v0.1.0 tags on every sibling repo so their deps reference
TheDancingDeveloper-org (collapses the diamond; librtbit source unchanged). Cleanest end-state; touches release tags across ~10 repos.
- Track
main + update librtbit source to the current sibling APIs. Keeps a single source org; real (bounded) dev work + tests.
[patch] redirect AusAgentSmith-org/* → TheDancingDeveloper-org/* in librtbit as a stopgap while (1)/(2) is decided.
Blocks
- librtbit#3 (
ci: adopt org runner-policy gate) — its required Build & Test check can't pass until librtbit builds.
Done already
librtbit-upnp-serve and librtbit-lsd migrated to GitHub sources and merged.
Filed while working through the CI backlog.
Context
The librtbit crate family is being migrated off the self-hosted Forgejo instance (
http://100.92.54.45:3002/indexarr/…) to GitHub sources. Leaf/mid crates are done — e.g.librtbit-upnp-serveandlibrtbit-lsdwere migrated to GitHub git deps and build green on CI.librtbititself (the integrator) does not migrate mechanically.Problem
Repointing librtbit's 11 internal git deps from Forgejo to GitHub leaves it unbuildable under either pinning strategy:
Pin to
tag = "v0.1.0"(GitHub URLs): 73 compile errors from a diamond dependency.librtbitpullslibrtbit-corefromgithub.com/TheDancingDeveloper-org/librtbit-core.git?tag=v0.1.0, while sibling v0.1.0 tags still declare their deps against the oldergithub.com/AusAgentSmith-org/...org (repos went AusAgentSmith-org → Forgejo → TheDancingDeveloper-org). Same commit SHA, two source URLs → Cargo compiles twolibrtbit-corecrates → incompatibleId20/Id<N>types.(e.g.
librtbit-dht@ v0.1.0 declareslibrtbit-core = { git = ".../AusAgentSmith-org/librtbit-core.git", tag = "v0.1.0" }.)Track sibling
main(no tag): no diamond (mains are consistently on TheDancingDeveloper-org), but sibling APIs have drifted past what librtbit's source targets — e.g.TrackerComms::start()gainedudp_tracker_clientand aTrackerStatusRegistryargument. librtbit's source (src/session/{mod,types,peer_sources}.rs, tracker wiring) needs updating.Options
TheDancingDeveloper-org(collapses the diamond; librtbit source unchanged). Cleanest end-state; touches release tags across ~10 repos.main+ update librtbit source to the current sibling APIs. Keeps a single source org; real (bounded) dev work + tests.[patch]redirectAusAgentSmith-org/*→TheDancingDeveloper-org/*in librtbit as a stopgap while (1)/(2) is decided.Blocks
ci: adopt org runner-policy gate) — its requiredBuild & Testcheck can't pass until librtbit builds.Done already
librtbit-upnp-serveandlibrtbit-lsdmigrated to GitHub sources and merged.Filed while working through the CI backlog.