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
}
|