26 lines
		
	
	
		
			755 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			755 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package clientcmd
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
 | 
						|
	clientconfig "github.com/deranjer/gvc/client/clientconfig"
 | 
						|
)
 | 
						|
 | 
						|
// CreateBranch creates a new branch with the supplied name
 | 
						|
func CreateBranch(conf *clientconfig.Gvcconfig, branchName string) error {
 | 
						|
	branches := conf.LocalBranches
 | 
						|
	for _, branch := range branches {
 | 
						|
		if branch == branchName {
 | 
						|
			return fmt.Errorf("Branch already exists, unable to create, use the switch command to switch to this branch: %s", branchName)
 | 
						|
		}
 | 
						|
	}
 | 
						|
	conf.LocalBranches = append(conf.LocalBranches, branchName) //add the branch to the config
 | 
						|
	// TODO Create the branch
 | 
						|
	//If success, switch to new branch
 | 
						|
	err := SwitchBranch(conf, branchName)
 | 
						|
	if err != nil {
 | 
						|
		return fmt.Errorf("error switching to new branch: %s", err)
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 |