From 55589e7531c7e576a26f5610241a278caf6e4a4e Mon Sep 17 00:00:00 2001 From: Mark Pulford Date: Sat, 22 Jan 2022 16:03:28 +1030 Subject: [PATCH] cmd/go: fix retrieving Mercurial commit timestamp under Windows Use "hgdate" since the strftime filter is unsupported by Mercurial under Windows. Fixes #49841 Change-Id: I300898e51e324147aaf1bfe12ed17dea4bdd183d Reviewed-on: https://go-review.googlesource.com/c/go/+/380077 Reviewed-by: Bryan Mills Run-TryBot: Bryan Mills TryBot-Result: Gopher Robot Trust: Jeremy Faller Trust: Michael Knyszek --- src/cmd/go/internal/vcs/vcs.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/cmd/go/internal/vcs/vcs.go b/src/cmd/go/internal/vcs/vcs.go index 3406ee0551..fd521b2eb1 100644 --- a/src/cmd/go/internal/vcs/vcs.go +++ b/src/cmd/go/internal/vcs/vcs.go @@ -164,7 +164,7 @@ func hgRemoteRepo(vcsHg *Cmd, rootDir string) (remoteRepo string, err error) { func hgStatus(vcsHg *Cmd, rootDir string) (Status, error) { // Output changeset ID and seconds since epoch. - out, err := vcsHg.runOutputVerboseOnly(rootDir, `log -l1 -T {node}:{date(date,"%s")}`) + out, err := vcsHg.runOutputVerboseOnly(rootDir, `log -l1 -T {node}:{date|hgdate}`) if err != nil { return Status{}, err } @@ -173,6 +173,10 @@ func hgStatus(vcsHg *Cmd, rootDir string) (Status, error) { var rev string var commitTime time.Time if len(out) > 0 { + // Strip trailing timezone offset. + if i := bytes.IndexByte(out, ' '); i > 0 { + out = out[:i] + } rev, commitTime, err = parseRevTime(out) if err != nil { return Status{}, err -- 2.50.0