func (git *Git) getComposerInformation() (packages.Composer, error) { cmd := exec.Command("git", "show", git.Reference+":composer.json") cmd.Dir = git.RepoDir out, err := cmd.CombinedOutput() if err != nil { return packages.Composer{}, fmt.Errorf("git show %s. %s", git.Reference+":composer.json", err) } co := packages.Composer{} err = json.Unmarshal(out, &co) if err != nil { return packages.Composer{}, err } if co.Time == "" { cmd = exec.Command("git", "log", "-1", "--format=%at", git.Reference) cmd.Dir = git.RepoDir out, err := cmd.CombinedOutput() if err != nil { return packages.Composer{}, fmt.Errorf("git log -1 --format. %s", err) } t, _ := strconv.ParseInt(strings.TrimSpace(string(out)), 10, 64) co.Time = time.Unix(t, 0).String() } git.Source = map[string]string{ "type": "git", "url": git.URL, "reference": git.Reference, } co.Source = git.Source co.Version = git.Version co.VersionNormalized = git.VersionNormalized return co, nil }