func NewClient() (*Client, error) {
	g, err := exec.LookPath("git")
	if err != nil {
		return nil, err
	}
	t, err := ioutil.TempDir("", "git")
	if err != nil {
		return nil, err
	}
	return &Client{
		logger:    logrus.WithField("client", "git"),
		dir:       t,
		git:       g,
		base:      fmt.Sprintf("https://%s", github),
		repoLocks: make(map[string]*sync.Mutex),
	}, nil
}
func NewClient() (*Client, error) {
	g, err := exec.LookPath("git")
	if err != nil {
		return nil, err
	}
	t, err := ioutil.TempDir("", "git")
	if err != nil {
		return nil, err
	}
	return &Client{
		logger:    logrus.WithField("client", "git"),
		dir:       t,
		git:       g,
		base:      fmt.Sprintf("https:
		repoLocks: make(map[string]*sync.Mutex),
	}, nil
}
func NewClient ( ) ( * Client , error ) { g , err := exec . LookPath ( " " ) if err != nil { return nil , err } t , err := ioutil . TempDir ( " " , " " ) if err != nil { return nil , err } return & Client { logger : logrus . WithField ( " " , " " ) , dir : t , git : g , base : fmt . Sprintf ( " " , github ) , repoLocks : make ( map [ string ] * sync . Mutex ) , } , nil }
// NewClient returns a client that talks to GitHub. It will fail if git is not
// in the PATH.
NewClient returns a client that talks to GitHub . It will fail if git is not in the PATH .