Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-01-30 11:08:49 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-01-30 19:15:35 +0300
commit49ef6472039ede7d485242eba511207a8274495a (patch)
treeaa7c974699598c6aa649237028ccf2529e15fa9e /modules
parent8f08cdd0ac6a2decd5aa5c9c12c0b2c264f9a989 (diff)
modules: Fix "hugo mod get -u" with no arguments
Fixes #6826 Closes #6825
Diffstat (limited to 'modules')
-rw-r--r--modules/client.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/modules/client.go b/modules/client.go
index 462cd6017..1aacc5aa7 100644
--- a/modules/client.go
+++ b/modules/client.go
@@ -259,6 +259,28 @@ func (c *Client) Vendor() error {
// Get runs "go get" with the supplied arguments.
func (c *Client) Get(args ...string) error {
+ if len(args) == 0 || (len(args) == 1 && args[0] == "-u") {
+ update := len(args) != 0
+
+ // We need to be explicit about the modules to get.
+ for _, m := range c.moduleConfig.Imports {
+ var args []string
+ if update {
+ args = []string{"-u"}
+ }
+ args = append(args, m.Path)
+ if err := c.get(args...); err != nil {
+ return err
+ }
+ }
+
+ return nil
+ }
+
+ return c.get(args...)
+}
+
+func (c *Client) get(args ...string) error {
if err := c.runGo(context.Background(), c.logger.Out, append([]string{"get"}, args...)...); err != nil {
errors.Wrapf(err, "failed to get %q", args)
}
@@ -426,6 +448,11 @@ func (c *Client) runGo(
return nil
}
+ if strings.Contains(stderr.String(), "invalid version: unknown revision") {
+ // See https://github.com/gohugoio/hugo/issues/6825
+ c.logger.FEEDBACK.Println(`hugo: you need to manually edit go.mod to resolve the unknown revision.`)
+ }
+
_, ok := err.(*exec.ExitError)
if !ok {
return errors.Errorf("failed to execute 'go %v': %s %T", args, err, err)