| 326 | } |
| 327 | |
| 328 | func (c *Client) Config(ctx context.Context, name string) (string, error) { |
| 329 | args := []string{"config", name} |
| 330 | cmd, err := c.Command(ctx, args...) |
| 331 | if err != nil { |
| 332 | return "", err |
| 333 | } |
| 334 | out, err := cmd.Output() |
| 335 | if err != nil { |
| 336 | var gitErr *GitError |
| 337 | if ok := errors.As(err, &gitErr); ok && gitErr.ExitCode == 1 { |
| 338 | gitErr.Stderr = fmt.Sprintf("unknown config key %s", name) |
| 339 | return "", gitErr |
| 340 | } |
| 341 | return "", err |
| 342 | } |
| 343 | return firstLine(out), nil |
| 344 | } |
| 345 | |
| 346 | func (c *Client) UncommittedChangeCount(ctx context.Context) (int, error) { |
| 347 | args := []string{"status", "--porcelain"} |