/api/v1/repos/diff-commit endpoint and is designed for workflows that already have git diff --binary output available.
createCommitFromDiff shares the same branch metadata (expectedHeadSha, baseBranch,
ephemeral, ephemeralBase) as createCommit. Instead of calling .addFile(), pass the patch
contents through the diff field. The SDK accepts strings, Uint8Array, ArrayBuffer, Blob/File
objects, or any iterable/async iterable of byte chunks and handles chunking + base64 encoding. In Go,
the Diff field accepts an io.Reader.
The gateway applies the patch with git apply --cached --binary, so make sure your diff is
compatible with that command. It must include file headers (diff --git), mode lines, and hunk
headers. Empty patches and patches that do not apply cleanly result in a RefUpdateError with the
mapped status ( conflict, precondition_failed, etc.) and partial ref update information.
Options
Branch name that will receive the commit.
The commit message.
Provide
name and email for the commit author.The patch content (string, bytes, async iterable, or
io.Reader in Go).Commit SHA that must match the remote tip.
Branch to seed from if target doesn’t exist.
Store in the ephemeral namespace.
Use when the base branch is also ephemeral.
Provide
name and email. Defaults to author if omitted.Response
The SHA of the created commit
The SHA of the commit’s tree object
The branch that received the commit
Size of the uploaded pack in bytes
Contains
branch, oldSha/old_sha, and newSha/new_sha