A knot based on walgit / s3 compare and swap that supports HA and Kubernetes
walknot UPSTREAM.md
2.1 kB · 39 lines
Markdown

Upstream #

walknot is a fork of knot2, Tangled's knot, extracted from the Tangled monorepo.

  • Source: https://tangled.org/tangled.org/core
  • Imported at: ab1baed311194dcbef9aaac1131f81ce2cc94671 (knot2 v1.20.0, 2026-11-04)

What was imported, and where it lives here #

upstream (tangled.org/core) walknot
knot2/crates/* crates/*
crates/{knot-capability,lexicons,trusted-proxies,gix-chunk,gix-commitgraph} crates/*
knot2/third_party/* third_party/*
knot2/interop/*_test.go interop/
{knotfeed,tapc,log} (Go, for interop) interop/tangled-core/
lexicons/ lexicons/
docs/src/content/docs/{knots,reference/knot-config.md} docs/upstream/
root Cargo.toml (knot-relevant parts), Cargo.lock, rust-toolchain.toml same
knot2/{README.md,example.toml,justfile,Containerfile,_typos.toml} root (README.md → UPSTREAM-README.md)

Path adjustments made while importing (and nothing else):

  • crates/knot-lexicons/build.rs: the workspace root is two levels up, not three.
  • crates/knot-server/tests/invariants.rs: the knot root is the workspace root, and the "no subprocess in src" scan looks at paths relative to crates/.
  • crates/knot-xrpc/tests/atproto_interop.rs: runs go test in interop/, which is its own Go module (interop/go.mod, with tangled.org/core replaced by the vendored subset).

Porting upstream changes #

git -C ~/src/core log --oneline ab1baed31..origin/master -- knot2 crates/knot-capability \
    crates/lexicons crates/trusted-proxies crates/gix-chunk crates/gix-commitgraph lexicons

For each relevant commit, apply it with the path mapping above (git -C ~/src/core format-patch -1 <sha> --stdout | sed 's#knot2/crates/#crates/#g' | git am -3 works for most), then bump the "Imported at" commit here.