dev.knotless.pushRefs

The body is one line of JSON, a #header, then a git packfile holding every object the updates need that the repository lacks (empty when every update is a deletion). Each update succeeds or fails on its own.

Details · procedure
Kindprocedure
Authorityknotless.dev
Indexed

Procedure

procedure · POST

Input

application/x-knotless-push

Output

application/json

results

requiredarray
itemsref
Reference

#header

object

What precedes the pack in the body, on a line of its own.

Properties

name

requiredstring

The repository's name: its dev.knotless.repo record key.

  • maxLength: 100

repo

requiredstring · did

The repository's owner.

updates

requiredarray
itemsref
Reference

#result

object

How one update went.

Properties

error

string

Why the update was refused; absent when it landed.

  • maxLength: 3000

ref

requiredstring

The update's `dst`.

  • maxLength: 1024

#update

object

One ref to move.

Properties

dst

requiredstring

The full ref name, such as refs/heads/main.

  • maxLength: 1024

force

boolean

Move it even when the move is not a fast-forward.

  • default: false

src

string

The hex object ID to point it at; absent to delete the ref.

  • minLength: 40
  • maxLength: 64

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • The move of a ref off one generation: its key is the compare-and-swap, its body the reflog entry.

  • Commits file changes to a branch through a gateway its owner has delegated writes to, without a clone. Commits to one branch that arrive together are built into one chain and written as one ref update. Requires a service token from the caller's PDS, audience the gateway's DID, for this method; the caller must be the owner or a collaborator.

  • One git ref of a repository.

  • Lets an account push to a repository, or read a private one.