branch: Deleted BranchForeach
This commit is contained in:
parent
ed86064871
commit
961db94aa2
52
branch.go
52
branch.go
|
@ -8,17 +8,11 @@ package git
|
||||||
import "C"
|
import "C"
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
"strings"
|
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
var ErrEUser = errors.New("Error in user callback function")
|
|
||||||
|
|
||||||
type BranchType uint
|
type BranchType uint
|
||||||
|
|
||||||
type ListFlags BranchType
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
BRANCH_LOCAL BranchType = C.GIT_BRANCH_LOCAL
|
BRANCH_LOCAL BranchType = C.GIT_BRANCH_LOCAL
|
||||||
BRANCH_REMOTE = C.GIT_BRANCH_REMOTE
|
BRANCH_REMOTE = C.GIT_BRANCH_REMOTE
|
||||||
|
@ -53,52 +47,6 @@ func (b *Branch) BranchDelete() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type BranchForeachCB func(name string, flags ListFlags, payload interface{}) error
|
|
||||||
|
|
||||||
func (repo *Repository) BranchForeach(flags ListFlags, callback BranchForeachCB, payload interface{}) error {
|
|
||||||
iter, err := repo.NewReferenceIterator()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
for {
|
|
||||||
var branchLocal bool
|
|
||||||
var branchRemote bool
|
|
||||||
|
|
||||||
ref, err := iter.Next()
|
|
||||||
if err == ErrIterOver {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
if flags&ListFlags(BRANCH_LOCAL) > 0 {
|
|
||||||
branchLocal = true
|
|
||||||
}
|
|
||||||
if branchLocal && strings.HasPrefix(ref.Name(), REFS_HEADS_DIR) {
|
|
||||||
name := strings.TrimPrefix(ref.Name(), REFS_HEADS_DIR)
|
|
||||||
err = callback(name, ListFlags(BRANCH_LOCAL), payload)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if flags&ListFlags(BRANCH_REMOTE) > 0 {
|
|
||||||
branchRemote = true
|
|
||||||
}
|
|
||||||
if branchRemote && strings.HasPrefix(ref.Name(), REFS_REMOTES_DIR) {
|
|
||||||
name := strings.TrimPrefix(ref.Name(), REFS_REMOTES_DIR)
|
|
||||||
err = callback(name, ListFlags(BRANCH_REMOTE), payload)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if err == ErrIterOver {
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (b *Branch) Move(newBranchName string, force bool) (*Branch, error) {
|
func (b *Branch) Move(newBranchName string, force bool) (*Branch, error) {
|
||||||
newBranch := new(Branch)
|
newBranch := new(Branch)
|
||||||
cNewBranchName := C.CString(newBranchName)
|
cNewBranchName := C.CString(newBranchName)
|
||||||
|
|
Loading…
Reference in New Issue