Repository navigation
[0.9.3] - 2026-09-07
In plain terms: the previous release made deltix push put your work on
the right branch, but it still expected that branch to already exist on the
server. So the very first push of a brand-new branch — which git-style
workflows now create locally first, as of Deltix-Client v0.8.14 — stalled
and got rejected. Fixed: the server now behaves like git. If the branch you
push to does not exist yet, it creates it starting from the current
server state, then records your commits on it. The first push to a new
branch always works now, on both sides of the sync.
Fixed
POST /repos/:repoId/push-commitsno longer rejects the first push of a
new branch. InrunDoltCommitImport()the initialdolt checkout <branch>failed for a not-yet-existing branch (dolt addresses branches
like tablespecs:error: tablespec 'x' did not match any table(s)), and
the import aborted before any commit landed. It now distinguishes that
case (extracted asisMissingBranchCheckoutError(), exported for
testing) and heals it withdolt checkout -b <branch>— gitpush -u
semantics: the branch is created from the current remote head and the
pushed commits land on it. Any other checkout failure (e.g. uncommitted
rows on the server repo) remains fatal and surfaces as before.- Paired with Deltix-Client v0.8.14, which made branch creation
local-first: the client creates branches locally and publishes them via
push, so this branch-creation-on-push path is how the server becomes aware
of new branches.
Tests
- New unit coverage for the
isMissingBranchCheckoutError()predicate
(missing-branch stderr → true; unrelated stderr → false). - New real-dolt integration tests prove: a first push to a brand-new branch
creates it (with*marking it active) and the commit lands on it, and
that importing onto an already-existing branch is unchanged. - 289 server unit tests pass;
bun run lintclean (no errors).