-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconst.go
72 lines (65 loc) · 1.31 KB
/
const.go
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
package main
import "fmt"
// VCSType is VCS enumeration.
type VCSType int
// Supported VCS types.
const (
VCSNone VCSType = iota
VCSGit
VCSMercurial
)
// String returns text representation for VCS type.
func (name VCSType) String() string {
switch name {
case VCSNone:
return ""
case VCSGit:
return "git"
case VCSMercurial:
return "hg"
default:
panic(fmt.Sprintf("unknown VCSType: %d", name))
}
}
// VCSState is VCS state (merge conflict, interactive rebase, …) enumeration.
type VCSState int
// Current repo state (most probably git-specific).
const (
StateNone VCSState = iota
StateMerge
StateRevert
StateCherrypick
StateBisect
StateRebase
StateRebaseInteractive
StateRebaseMerge
StateApplyMailbox
StateApplyMailboxOrRebase
)
// String returns text representation for VCS state.
func (state VCSState) String() string {
switch state {
case StateNone:
return ""
case StateMerge:
return "merge"
case StateRevert:
return "revert"
case StateCherrypick:
return "cherry"
case StateBisect:
return "bisect"
case StateRebase:
return "rebase"
case StateRebaseInteractive:
return "rebase-i"
case StateRebaseMerge:
return "rebase-m"
case StateApplyMailbox:
return "am"
case StateApplyMailboxOrRebase:
return "am/rebase"
default:
panic(fmt.Sprintf("unknown VCSState: %d", state))
}
}