| 629 | } |
| 630 | |
| 631 | func (c *Client) CheckoutNewBranch(ctx context.Context, remoteName, branch string) error { |
| 632 | track := fmt.Sprintf("%s/%s", remoteName, branch) |
| 633 | args := []string{"checkout", "-b", branch, "--track", track} |
| 634 | cmd, err := c.Command(ctx, args...) |
| 635 | if err != nil { |
| 636 | return err |
| 637 | } |
| 638 | _, err = cmd.Output() |
| 639 | if err != nil { |
| 640 | return err |
| 641 | } |
| 642 | return nil |
| 643 | } |
| 644 | |
| 645 | func (c *Client) HasLocalBranch(ctx context.Context, branch string) bool { |
| 646 | _, err := c.revParse(ctx, "--verify", "refs/heads/"+branch) |