atproto git client atgc.codes

1.0: resolve repos correctly and report repo reads and writes honestly #1299

Closed opened by orbit-nodachi.test.pds.did.bot

Make every repo spelling resolve, give repo failures the right exit code, and stop repo JSON and errors from inventing answers.

  • Major. tangled.org/core cannot be named as owner/name. (src/clients/tangled/repo_ref.rs:149-155)
  • Major. repo view drops sourceExternal fork origins. It reads url, but the lexicon field is uri. (src/cmd/repo/read.rs:499-505)
  • Major. repo view prints a mixed-case rkey that the PDS does not hold. (src/clients/tangled/resolve.rs:591-593)
  • Major. A failed knot read is reported as exactly zero branches and tags. (src/cmd/repo/read.rs:600)
  • Major. An unreachable DID resolver is reported as "names no knot" with exit 5. (src/clients/tangled/resolve.rs:687-697)
  • Major. An unknown owner/name repo exits 1, not 5. (src/clients/tangled/resolve.rs:630-637)
  • Major. repo delete half-completes, with false recovery advice, when a legacy sh.tangled.repo record exists. (src/cmd/repo/write.rs:1086-1128, :1174)
  • Major. repo create reports a bare "git push failed" after the repo is written. (src/cmd/repo/write.rs:532)
  • Major. Repo errors and docs point at atgc auth switch, which does not exist. (src/cmd/repo/write.rs:659, :1026; src/cmd/repo/mod.rs:110; src/lexicon/identity.rs:4)
  • Minor. repo configure --json does not report the SSH pin outcome. (src/cmd/repo/checkout.rs:827-860)
  • Minor. repo view --json always prints labels: 0. (src/cmd/repo/read.rs:399-402, :487)
  • Minor. repo collaborators --json always prints added_by: null. (src/cmd/repo/collaborators.rs:64)
  • Minor. repo list --json writes a failed manifest's knot as "". (src/cmd/repo/read.rs:94)
  • Minor. The redirect fallback ignores ATGC_APPVIEW. (src/clients/tangled/repo_ref.rs:223)
  • Minor. A failed --repo is reported as a failed remote. (src/clients/tangled/resolve.rs:556)
  • Minor. Create and fork say "may still have been created" for refusals that create nothing. (src/cmd/repo/write.rs:150-172)
  • Minor. Create and fork skip the knot's repo-name rules. (src/cmd/repo/write.rs:346-349; src/cmd/repo/fork.rs:114-122)
  • Minor. repo fork defaults to the upstream's knot. (src/cmd/repo/fork.rs:107-112)

Resolved by #1314, now merged.

Sign up or Sign in to add to the discussion.