git.go
func (r *Repo) pull() error {

	// if not pulled, perform clone
	if !r.pulled {
		return r.clone()
	}

	// if latest tag config is set
	if r.Branch == latestTag {
		return r.checkoutLatestTag()
	}

	params := append([]string{"pull"}, append(r.PullArgs, "origin", r.Branch)...)
	var err error
	if err = r.gitCmd(params, r.Path); err == nil {
		r.pulled = true
		r.lastPull = time.Now()
		Logger().Printf("%v pulled.\n", r.URL)
		r.lastCommit, err = r.mostRecentCommit()
	}
	return err
}
func (r *Repo) pull() error {

	// if not pulled, perform clone
	if !r.pulled {
		return r.clone()
	}

	// if latest tag config is set
	if r.Branch == latestTag {
		return r.checkoutLatestTag()
	}

	params := append([]string{"pull"}, append(r.PullArgs, "origin", r.Branch)...)
	var err error
	if err = r.gitCmd(params, r.Path); err == nil {
		r.pulled = true
		r.lastPull = time.Now()
		Logger().Printf("%v pulled.\n", r.URL)
		r.lastCommit, err = r.mostRecentCommit()
	}
	return err
}
// pull performs git pull, or git clone if repository does not exist.