Files
Gogs/internal/gitx/error.go
ᴊᴏᴇ ᴄʜᴇɴ 36d56d5525 all: rename packages ending with "util" to end with "x" (#8182)
Co-authored-by: JSS <jss@unknwon.dev>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:25:19 -05:00

43 lines
1017 B
Go

package gitx
import (
"github.com/cockroachdb/errors"
"github.com/gogs/git-module"
"gogs.io/gogs/internal/errx"
)
var _ errx.NotFound = (*Error)(nil)
// Error is a wrapper of a Git error, which handles not found.
type Error struct {
error
}
func (e Error) NotFound() bool {
return IsErrSubmoduleNotExist(e.error) ||
IsErrRevisionNotExist(e.error)
}
// NewError wraps given error.
func NewError(err error) error {
return Error{error: err}
}
// IsErrSubmoduleNotExist returns true if the underlying error is
// git.ErrSubmoduleNotExist.
func IsErrSubmoduleNotExist(err error) bool {
return errors.Cause(err) == git.ErrSubmoduleNotExist
}
// IsErrRevisionNotExist returns true if the underlying error is
// git.ErrRevisionNotExist.
func IsErrRevisionNotExist(err error) bool {
return errors.Cause(err) == git.ErrRevisionNotExist
}
// IsErrNoMergeBase returns true if the underlying error is git.ErrNoMergeBase.
func IsErrNoMergeBase(err error) bool {
return errors.Cause(err) == git.ErrNoMergeBase
}