aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/ipc/git2c/perror.go
blob: 4be2a07afd943b7de2d3722e9783e54ad9313848 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87

// SPDX-License-Identifier: AGPL-3.0-only
// SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org>

// TODO: Make the C part report detailed error messages too

package git2c

import "errors"

var (
	ErrUnknown                         = errors.New("git2c: unknown error")
	ErrPath                            = errors.New("git2c: get tree entry by path failed")
	ErrRevparse                        = errors.New("git2c: revparse failed")
	ErrReadme                          = errors.New("git2c: no readme")
	ErrBlobExpected                    = errors.New("git2c: blob expected")
	ErrEntryToObject                   = errors.New("git2c: tree entry to object conversion failed")
	ErrBlobRawContent                  = errors.New("git2c: get blob raw content failed")
	ErrRevwalk                         = errors.New("git2c: revwalk failed")
	ErrRevwalkPushHead                 = errors.New("git2c: revwalk push head failed")
	ErrBareProto                       = errors.New("git2c: bare protocol error")
	ErrRefResolve                      = errors.New("git2c: ref resolve failed")
	ErrBranches                        = errors.New("git2c: list branches failed")
	ErrCommitLookup                    = errors.New("git2c: commit lookup failed")
	ErrDiff                            = errors.New("git2c: diff failed")
	ErrMergeBaseNone                   = errors.New("git2c: no merge base found")
	ErrMergeBase                       = errors.New("git2c: merge base failed")
	ErrCommitCreate                    = errors.New("git2c: commit create failed")
	ErrUpdateRef                       = errors.New("git2c: update ref failed")
	ErrCommitTree                      = errors.New("git2c: commit tree lookup failed")
	ErrInitRepoCreate                  = errors.New("git2c: init repo: create failed")
	ErrInitRepoConfig                  = errors.New("git2c: init repo: open config failed")
	ErrInitRepoSetHooksPath            = errors.New("git2c: init repo: set core.hooksPath failed")
	ErrInitRepoSetAdvertisePushOptions = errors.New("git2c: init repo: set receive.advertisePushOptions failed")
	ErrInitRepoMkdir                   = errors.New("git2c: init repo: create directory failed")
)

func Perror(errno uint64) error {
	switch errno {
	case 0:
		return nil
	case 3:
		return ErrPath
	case 4:
		return ErrRevparse
	case 5:
		return ErrReadme
	case 6:
		return ErrBlobExpected
	case 7:
		return ErrEntryToObject
	case 8:
		return ErrBlobRawContent
	case 9:
		return ErrRevwalk
	case 10:
		return ErrRevwalkPushHead
	case 11:
		return ErrBareProto
	case 12:
		return ErrRefResolve
	case 13:
		return ErrBranches
	case 14:
		return ErrCommitLookup
	case 15:
		return ErrDiff
	case 16:
		return ErrMergeBaseNone
	case 17:
		return ErrMergeBase
	case 18:
		return ErrUpdateRef
	case 19:
		return ErrCommitCreate
	case 20:
		return ErrInitRepoCreate
	case 21:
		return ErrInitRepoConfig
	case 22:
		return ErrInitRepoSetHooksPath
	case 23:
		return ErrInitRepoSetAdvertisePushOptions
	case 24:
		return ErrInitRepoMkdir
	}
	return ErrUnknown
}