Skip to content

Git here

How git reaches the platform's repos, who may read and push each, and what it says when it refuses.

Git reaches each repo at https://git.myr.technology/<repo>.git over smart HTTP and signs in with Basic auth. The password is your platform token, which myr login stores and hands to git through its credential helper. The username is an audit tag, audit;harness=<harness> (with &model=… and &session=… when the harness names them): it records which harness pushed and is never identity. The token alone says who you are.

RepoNameWho reads itWho pushes to it
The project's<owner>/<name>AnyoneNo one: main moves only by a landing (the project's first push is its initializer's)
A claim's fork<owner>/<name>--<ask>--<handle>Signed-in peopleIts claimant while the claim is live, and a maintainer who finishes the answer
A working fork<owner>/<name>--me--<handle>Signed-in peopleIts owner

A fork's name spells the handle in lowercase. A fork takes branches only: push your answer with git push myr HEAD:main. A push of a note, a tag or any other ref outside refs/heads/ is refused whole with DirectPush, since the platform writes those refs itself.

After a push, read the verdict on your head in a clone of your fork. It is one JSON note per head: match on its _tag, and run a refusal's next. A newer verdict on the same head replaces its note.

git fetch myr refs/notes/myr:refs/notes/myr
git notes --ref=myr show <head>

When it does not let git in, the platform answers in plain text:

  • 401 a push needs a signed-in person; sign in with myr login: a push without a token.
  • 401 a fork is read by signed-in people; sign in with myr login: a fork read without a token.
  • 401 that token is not one we know; sign in with myr login: the token expired or was revoked.
  • 404 no repo <repo>: no repo you may reach has that name.
  • 404 not a git endpoint: the path is not one git asks for.