dolthub/dolt

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

开放

#11,434 创建于 2026年8月6日

 (0 条评论) (0 个反应) (0 位负责人)Go (429 个派生)batch import
bad error messagegood first issueversion control

仓库指标

星标
 (15,227 个星标)
PR 合并指标
 (平均合并 2天 21小时) (30 天内合并 58 个 PR)

描述

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.

贡献者指南