From: Bjørn Erik Pedersen Date: Fri, 17 Sep 2021 15:16:34 +0000 (+0200) Subject: commands: Make the error handling for the mod commands more lenient X-Git-Tag: v0.89.0~55 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=13ad8408fc6b645b12898fb8053388fc4848dfbd;p=brevno-suite%2Fhugo commands: Make the error handling for the mod commands more lenient So it at least is possible to do a `hugo mod clean --all` if the cache is in a funky state. --- diff --git a/commands/commandeer.go b/commands/commandeer.go index 349838a7..7706360a 100644 --- a/commands/commandeer.go +++ b/commands/commandeer.go @@ -323,8 +323,11 @@ func (c *commandeer) loadConfig() error { // We should improve the error handling here, // but with hugo mod init and similar there is a chicken and egg situation // with modules already configured in config.toml, so ignore those errors. - if c.mustHaveConfigFile || !moduleNotFoundRe.MatchString(err.Error()) { + if c.mustHaveConfigFile || (c.failOnInitErr && !moduleNotFoundRe.MatchString(err.Error())) { return err + } else { + // Just make it a warning. + c.logger.Warnln(err) } } else if c.mustHaveConfigFile && len(configFiles) == 0 { return hugolib.ErrNoConfigFile diff --git a/commands/mod.go b/commands/mod.go index 0f8239a4..eb6b1a44 100644 --- a/commands/mod.go +++ b/commands/mod.go @@ -71,11 +71,12 @@ Also note that if you configure a positive maxAge for the "modules" file cache, if all { com, err := c.initConfig(false) - if err != nil && !moduleNotFoundRe.MatchString(err.Error()) { + if err != nil && com == nil { return err } - _, err = com.hugo().FileCaches.ModulesCache().Prune(true) + count, err := com.hugo().FileCaches.ModulesCache().Prune(true) + com.logger.Printf("Deleted %d files from module cache.", count) return err } return c.withModsClient(true, func(c *modules.Client) error {