fix(gittag): use HEAD-{date} format for tagless repos

Avoids HEAD date-versions (2024.06.08) sorting ahead of real semver
tags (v1.2) since they measure different things.
This commit is contained in:
AJ ONeal
2026-03-11 00:10:30 -06:00
parent dfb76794be
commit ec30b34241

View File

@@ -549,10 +549,10 @@ func classifyGitTag(pkg string, conf *installerconf.Conf, d *rawcache.Dir) ([]st
filename = repoName + "-" + entry.GitTag
} else if len(entry.Date) >= 19 {
// Tagless repo (HEAD of master/main): synthesize a date-based
// version like Node.js does: "2023.10.10-18.42.21"
version = strings.ReplaceAll(entry.Date[:10], "-", ".") +
"-" + strings.ReplaceAll(entry.Date[11:19], ":", ".")
filename = repoName + "-v" + version
// version prefixed with HEAD so it doesn't sort ahead of
// real semver tags (e.g. HEAD-2023.10.10 vs v1.2).
version = "HEAD-" + strings.ReplaceAll(entry.Date[:10], "-", ".")
filename = repoName + "-" + version
} else {
continue
}