]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: fix retrieving Mercurial commit timestamp under Windows
authorMark Pulford <mark@kyne.com.au>
Sat, 22 Jan 2022 05:33:28 +0000 (16:03 +1030)
committerBryan Mills <bcmills@google.com>
Wed, 26 Jan 2022 17:25:25 +0000 (17:25 +0000)
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 <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Trust: Jeremy Faller <jeremy@golang.org>
Trust: Michael Knyszek <mknyszek@google.com>

src/cmd/go/internal/vcs/vcs.go

index 3406ee05519798cc7d8551d4024123ba2c65791a..fd521b2eb1558f4fd7991b9de529d3f621db6702 100644 (file)
@@ -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