code: func (h *stiGit) GetInfo(repo string) *SourceInfo {
  	git := func(arg ...string) string {
  		command := exec.Command("git", arg...)
  		command.Dir = repo
  		out, err := command.CombinedOutput()
  		if err != nil {
  			glog.V(1).Infof("Error executing 'git %#v': %s (%v)", arg, out, err)
  			return ""
  		}
  		return strings.TrimSpace(string(out))
  	}
  	return &SourceInfo{
  		Location:       git("config", "--get", "remote.origin.url"),
  		Ref:            git("rev-parse", "--abbrev-ref", "HEAD"),
  		CommitID:       git("rev-parse", "--verify", "HEAD"),
  		AuthorName:     git("--no-pager", "show", "-s", "--format=%an", "HEAD"),
  		AuthorEmail:    git("--no-pager", "show", "-s", "--format=%ae", "HEAD"),
  		CommitterName:  git("--no-pager", "show", "-s", "--format=%cn", "HEAD"),
  		CommitterEmail: git("--no-pager", "show", "-s", "--format=%ce", "HEAD"),
  		Date:           git("--no-pager", "show", "-s", "--format=%ad", "HEAD"),
  		Message:        git("--no-pager", "show", "-s", "--format=%<(80,trunc)%s", "HEAD"),
  	}
  }
docs: // GetInfo retrieves the information about the source code and commit