// NewVersionFromRevision populates a new Version with metadata from a model.Revision. // Does not populate its config or store anything in the database. func NewVersionFromRevision(ref *model.ProjectRef, rev model.Revision) (*version.Version, error) { number, err := model.GetNewRevisionOrderNumber(ref.Identifier) if err != nil { return nil, err } v := &version.Version{ Author: rev.Author, AuthorEmail: rev.AuthorEmail, Branch: ref.Branch, CreateTime: rev.CreateTime, Id: util.CleanName(fmt.Sprintf("%v_%v", ref.String(), rev.Revision)), Identifier: ref.Identifier, Message: rev.RevisionMessage, Owner: ref.Owner, Project: ref.Identifier, RemotePath: ref.RemotePath, Repo: ref.Repo, RepoKind: ref.RepoKind, Requester: evergreen.RepotrackerVersionRequester, Revision: rev.Revision, Status: evergreen.VersionCreated, RevisionOrderNumber: number, } return v, nil }