summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go40
1 files changed, 39 insertions, 1 deletions
diff --git a/main.go b/main.go
index 02da893..b2b0123 100644
--- a/main.go
+++ b/main.go
@@ -1,13 +1,51 @@
package main
+import (
+ "os"
+
+ git "go.wit.com/lib/libgit2"
+ "go.wit.com/log"
+)
+
// are sent via -ldflags at buildtime
var VERSION string
var BUILDTIME string
func main() {
+ var repo *git.Repository
if argv.Refs {
- showRefs()
+ repo, _ = showRefs()
} else {
testMessage()
}
+ if repo == nil {
+ os.Exit(-1)
+ }
+ walkBranches(repo)
+}
+
+func walkBranches(repo *git.Repository) *git.Branch {
+ i, err := repo.NewBranchIterator(git.BranchLocal)
+ if err != nil {
+ log.Info("walkBranches() error", err)
+ return nil
+ }
+
+ for {
+ b, bt, err := i.Next()
+ if git.IsErrorCode(err, git.ErrorCodeIterOver) {
+ return nil
+ }
+ name, _ := b.Name()
+ if name == "jcarr" {
+ log.Info("found BranchLocal", name)
+ return b
+ }
+ if bt == git.BranchLocal {
+ log.Info("BranchLocal", name)
+ } else {
+ log.Info("Branch", name, bt)
+ }
+ }
+ return nil
}