error.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package git
  2. import (
  3. "fmt"
  4. "time"
  5. )
  6. type ErrExecTimeout struct {
  7. Duration time.Duration
  8. }
  9. func IsErrExecTimeout(err error) bool {
  10. _, ok := err.(ErrExecTimeout)
  11. return ok
  12. }
  13. func (err ErrExecTimeout) Error() string {
  14. return fmt.Sprintf("execution is timeout [duration: %v]", err.Duration)
  15. }
  16. type ErrNotExist struct {
  17. ID string
  18. RelPath string
  19. }
  20. func IsErrNotExist(err error) bool {
  21. _, ok := err.(ErrNotExist)
  22. return ok
  23. }
  24. func (err ErrNotExist) Error() string {
  25. return fmt.Sprintf("object does not exist [id: %s, rel_path: %s]", err.ID, err.RelPath)
  26. }
  27. type ErrUnsupportedVersion struct {
  28. Required string
  29. }
  30. func IsErrUnsupportedVersion(err error) bool {
  31. _, ok := err.(ErrUnsupportedVersion)
  32. return ok
  33. }
  34. func (err ErrUnsupportedVersion) Error() string {
  35. return fmt.Sprintf("Operation requires higher version [required: %s]", err.Required)
  36. }
  37. type ErrNoMergeBase struct{}
  38. func IsErrNoMergeBase(err error) bool {
  39. _, ok := err.(ErrNoMergeBase)
  40. return ok
  41. }
  42. func (err ErrNoMergeBase) Error() string {
  43. return "no merge based found"
  44. }