diff options
Diffstat (limited to 'refstore/files/update_error.go')
| -rw-r--r-- | refstore/files/update_error.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/refstore/files/update_error.go b/refstore/files/update_error.go new file mode 100644 index 00000000..d8841d44 --- /dev/null +++ b/refstore/files/update_error.go @@ -0,0 +1,28 @@ +package files + +import "fmt" + +type updateContextError struct { + name string + err error +} + +func (err *updateContextError) Error() string { + return fmt.Sprintf("refstore/files: update %q: %v", err.name, err.err) +} + +func (err *updateContextError) Unwrap() error { + if err == nil { + return nil + } + + return err.err +} + +func wrapUpdateError(name string, err error) error { + if err == nil || name == "" { + return err + } + + return &updateContextError{name: name, err: err} +} |
