G.config.Tool.rootDir)
return false
}
+ // Most repos are open after `repo init`, but xsa.git may not
+ // be if it wasn't cloned.
+ if err := OpenRepos(); err != nil {
+ st.Errorf("Opening repos: %v\n", err)
+ return false
+ }
updateBranches := func(t Tree) (err error) {
var r *Repo
r = &xr.Repo
}
+ // Make 'master' the current (mainly so we can delete
+ // any other branches if they exist)
+ if _, err = r.Checkout("master"); err != nil {
+ return fmt.Errorf("Checking out branch master for tree %s: %v",
+ t, err)
+ }
+
+ // Delete all local branches except master
+ branches, err := r.Branches("")
+ if err != nil {
+ st.Errorf("Couldn't get branches for tree %s: %v\n",
+ t, err)
+ return
+ }
+ for _, branch := range branches {
+ if branch == "master" {
+ continue
+ }
+ fmt.Printf("Deleting leftover branch %s\n", branch)
+ if _, err = r.DeleteBranch(branch); err != nil {
+ st.Errorf("Deleting branch %s: %v\n", branch, err)
+ return
+ }
+ }
+
+ // Reset "remote" branches to specified state for simulation
for branch := range *its[t] {
shortRef := (*its[t])[branch]
var fullRef string