var pseudoVersionRE … const PseudoVersionTimestampFormat … // PseudoVersion returns a pseudo-version for the given major version ("v1") // preexisting older tagged version ("" or "v1.2.3" or "v1.2.3-pre"), revision time, // and revision identifier (usually a 12-byte commit hash prefix). func PseudoVersion(major, older string, t time.Time, rev string) string { … } // ZeroPseudoVersion returns a pseudo-version with a zero timestamp and // revision, which may be used as a placeholder. func ZeroPseudoVersion(major string) string { … } // incDecimal returns the decimal string incremented by 1. func incDecimal(decimal string) string { … } // decDecimal returns the decimal string decremented by 1, or the empty string // if the decimal is all zeroes. func decDecimal(decimal string) string { … } // IsPseudoVersion reports whether v is a pseudo-version. func IsPseudoVersion(v string) bool { … } // IsZeroPseudoVersion returns whether v is a pseudo-version with a zero base, // timestamp, and revision, as returned by [ZeroPseudoVersion]. func IsZeroPseudoVersion(v string) bool { … } // PseudoVersionTime returns the time stamp of the pseudo-version v. // It returns an error if v is not a pseudo-version or if the time stamp // embedded in the pseudo-version is not a valid time. func PseudoVersionTime(v string) (time.Time, error) { … } // PseudoVersionRev returns the revision identifier of the pseudo-version v. // It returns an error if v is not a pseudo-version. func PseudoVersionRev(v string) (rev string, err error) { … } // PseudoVersionBase returns the canonical parent version, if any, upon which // the pseudo-version v is based. // // If v has no parent version (that is, if it is "vX.0.0-[…]"), // PseudoVersionBase returns the empty string and a nil error. func PseudoVersionBase(v string) (string, error) { … } var errPseudoSyntax … func parsePseudoVersion(v string) (base, timestamp, rev, build string, err error) { … }