dolthub/dolt

`ExistingRefError.Error()` omits the ref name and type

Open

#11,434 opened on Aug 6, 2026

 (0 comments) (0 reactions) (0 assignees)Go (429 forks)batch import
bad error messagegood first issueversion control

Repository metrics

Stars
 (15,227 stars)
PR merge metrics
 (Avg merge 2d 21h) (58 merged PRs in 30d)

Description

doltdb.ExistingRefError is returned when a caller-provided name collides with an existing ref. Its Error() explicitly returns a "already exists", a bare string.

https://github.com/dolthub/dolt/blob/56fc3f4f292598b644df4397d5ef1799a5883c07/go/libraries/doltcore/doltdb/errors.go#L158-L162

The type carries a Ref field that identifies the conflict. Branch creation already recovers this detail out of band, but tag and workspaces do not.

Error() should include the ref, for example: ref 'refs/heads/x' already exists. Updating 'Error()` will change the message tag and workspace callers and test assert against, so they'll have to be updated with their own wrappers.

Contributor guide