示例#1
0
文件: git.go 项目: 4shome/go.jiri
func (g *Git) commandWithOpts(opts runutil.Opts, args ...string) error {
	if g.rootDir != "" {
		opts.Dir = g.rootDir
	}
	if err := g.r.CommandWithOpts(opts, "git", args...); err != nil {
		stdout, stderr := "", ""
		buf, ok := opts.Stdout.(*bytes.Buffer)
		if ok {
			stdout = buf.String()
		}
		buf, ok = opts.Stderr.(*bytes.Buffer)
		if ok {
			stderr = buf.String()
		}
		return Error(stdout, stderr, args...)
	}
	return nil
}