| 692 | } |
| 693 | |
| 694 | func (c *Client) CheckoutNewBranch(ctx context.Context, remoteName, branch string) error { |
| 695 | track := fmt.Sprintf("%s/%s", remoteName, branch) |
| 696 | args := []string{"checkout", "-b", branch, "--track", track} |
| 697 | cmd, err := c.Command(ctx, args...) |
| 698 | if err != nil { |
| 699 | return err |
| 700 | } |
| 701 | _, err = cmd.Output() |
| 702 | if err != nil { |
| 703 | return err |
| 704 | } |
| 705 | return nil |
| 706 | } |
| 707 | |
| 708 | func (c *Client) HasLocalBranch(ctx context.Context, branch string) bool { |
| 709 | _, err := c.revParse(ctx, "--verify", "refs/heads/"+branch) |