Merge pull request #420 from josharian/rebase-operation-type-stringer

Add RebaseOperationReword, and make RebaseOperationType a stringer

(cherry picked from commit 7ae106611c)
This commit is contained in:
Carlos Martín Nieto 2019-01-05 11:05:44 +00:00 committed by lhchavez
parent a07879739f
commit 7b1c424572
1 changed files with 21 additions and 0 deletions

View File

@ -6,6 +6,7 @@ package git
import "C" import "C"
import ( import (
"errors" "errors"
"fmt"
"runtime" "runtime"
"unsafe" "unsafe"
) )
@ -16,6 +17,8 @@ type RebaseOperationType uint
const ( const (
// RebaseOperationPick The given commit is to be cherry-picked. The client should commit the changes and continue if there are no conflicts. // RebaseOperationPick The given commit is to be cherry-picked. The client should commit the changes and continue if there are no conflicts.
RebaseOperationPick RebaseOperationType = C.GIT_REBASE_OPERATION_PICK RebaseOperationPick RebaseOperationType = C.GIT_REBASE_OPERATION_PICK
// RebaseOperationReword The given commit is to be cherry-picked, but the client should prompt the user to provide an updated commit message.
RebaseOperationReword RebaseOperationType = C.GIT_REBASE_OPERATION_REWORD
// RebaseOperationEdit The given commit is to be cherry-picked, but the client should stop to allow the user to edit the changes before committing them. // RebaseOperationEdit The given commit is to be cherry-picked, but the client should stop to allow the user to edit the changes before committing them.
RebaseOperationEdit RebaseOperationType = C.GIT_REBASE_OPERATION_EDIT RebaseOperationEdit RebaseOperationType = C.GIT_REBASE_OPERATION_EDIT
// RebaseOperationSquash The given commit is to be squashed into the previous commit. The commit message will be merged with the previous message. // RebaseOperationSquash The given commit is to be squashed into the previous commit. The commit message will be merged with the previous message.
@ -26,6 +29,24 @@ const (
RebaseOperationExec RebaseOperationType = C.GIT_REBASE_OPERATION_EXEC RebaseOperationExec RebaseOperationType = C.GIT_REBASE_OPERATION_EXEC
) )
func (t RebaseOperationType) String() string {
switch t {
case RebaseOperationPick:
return "pick"
case RebaseOperationReword:
return "reword"
case RebaseOperationEdit:
return "edit"
case RebaseOperationSquash:
return "squash"
case RebaseOperationFixup:
return "fixup"
case RebaseOperationExec:
return "exec"
}
return fmt.Sprintf("RebaseOperationType(%d)", t)
}
// Special value indicating that there is no currently active operation // Special value indicating that there is no currently active operation
var RebaseNoOperation uint = ^uint(0) var RebaseNoOperation uint = ^uint(0)