From 3a995f9639ba6e7d9f9e329895873d6ecf5b84c9 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Tue, 24 Jan 2017 13:50:02 -0800 Subject: [PATCH] Move GitFetch and GitCommit content enforcement back to Parse2822 (since they have a different format when coming from line-based legacy files) --- manifest/rfc2822.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/manifest/rfc2822.go b/manifest/rfc2822.go index ad4484e..5effa31 100644 --- a/manifest/rfc2822.go +++ b/manifest/rfc2822.go @@ -161,12 +161,6 @@ func (manifest *Manifest2822) AddEntry(entry Manifest2822Entry) error { if entry.GitRepo == "" || entry.GitFetch == "" || entry.GitCommit == "" { return fmt.Errorf("Tags %q missing one of GitRepo, GitFetch, or GitCommit", entry.TagsString()) } - if !GitFetchRegex.MatchString(entry.GitFetch) { - return fmt.Errorf(`Tags %q has invalid GitFetch (must be "refs/heads/..." or "refs/tags/..."): %q`, entry.TagsString(), entry.GitFetch) - } - if !GitCommitRegex.MatchString(entry.GitCommit) { - return fmt.Errorf(`Tags %q has invalid GitCommit (must be a commit, not a tag or ref): %q`, entry.TagsString(), entry.GitCommit) - } if invalidMaintainers := entry.InvalidMaintainers(); len(invalidMaintainers) > 0 { return fmt.Errorf("Tags %q has invalid Maintainers: %q (expected format %q)", strings.Join(invalidMaintainers, ", "), MaintainersFormat) } @@ -270,6 +264,13 @@ func Parse2822(readerIn io.Reader) (*Manifest2822, error) { return nil, err } + if !GitFetchRegex.MatchString(entry.GitFetch) { + return fmt.Errorf(`Tags %q has invalid GitFetch (must be "refs/heads/..." or "refs/tags/..."): %q`, entry.TagsString(), entry.GitFetch) + } + if !GitCommitRegex.MatchString(entry.GitCommit) { + return fmt.Errorf(`Tags %q has invalid GitCommit (must be a commit, not a tag or ref): %q`, entry.TagsString(), entry.GitCommit) + } + err = manifest.AddEntry(entry) if err != nil { return nil, err