From: Mark Pulford Date: Sat, 22 Jan 2022 05:33:28 +0000 (+1030) Subject: cmd/go: fix retrieving Mercurial commit timestamp under Windows X-Git-Tag: go1.18beta2~26 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=55589e7531c7e576a26f5610241a278caf6e4a4e;p=gostls13.git 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 --- 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