diff options
author | kylo252 <[email protected]> | 2022-06-26 13:53:44 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2022-06-26 13:53:44 +0200 |
commit | 12f8798bb05038a6269c6e50fe20c53ac47f75e3 (patch) | |
tree | e23443758b9e119f77a4ea68bd5a398549bd4126 /lua/lvim | |
parent | 9b528ecf57c58ab282d89f31b4e963662b1ace73 (diff) |
fix(installer): always use check shallow clones (#2763)
Diffstat (limited to 'lua/lvim')
-rw-r--r-- | lua/lvim/core/log.lua | 28 | ||||
-rw-r--r-- | lua/lvim/utils/git.lua | 16 |
2 files changed, 27 insertions, 17 deletions
diff --git a/lua/lvim/core/log.lua b/lua/lvim/core/log.lua index 49c70f83..48891139 100644 --- a/lua/lvim/core/log.lua +++ b/lua/lvim/core/log.lua @@ -12,17 +12,27 @@ vim.tbl_add_reverse_lookup(Log.levels) local notify_opts = {} function Log:set_level(level) - -- package.loaded["lvim.core.log"] = nil - local log_level = Log.levels[level:upper()] - local status_ok, logger = pcall(require("structlog").get_logger, "lvim") - if status_ok then - for _, s in ipairs(logger.sinks) do - s.level = log_level + local logger_ok, _ = xpcall(function() + local log_level = Log.levels[level:upper()] + local structlog = require "structlog" + if structlog then + local logger = structlog.get_logger "lvim" + for _, s in ipairs(logger.sinks) do + s.level = log_level + end end + end, debug.traceback) + if not logger_ok then + Log:debug("Unable to set logger's level: " .. debug.traceback()) end - package.loaded["packer.log"] = nil - require("packer.log").new { level = lvim.log.level } + local packer_ok, _ = xpcall(function() + package.loaded["packer.log"] = nil + require("packer.log").new { level = lvim.log.level } + end, debug.traceback) + if not packer_ok then + Log:debug("Unable to set packer's log level: " .. debug.traceback()) + end end function Log:init() @@ -36,7 +46,7 @@ function Log:init() lvim = { sinks = { structlog.sinks.Console(log_level, { - async = false, + async = true, processors = { structlog.processors.Namer(), structlog.processors.StackWriter({ "line", "file" }, { max_parents = 0, stack_level = 2 }), diff --git a/lua/lvim/utils/git.lua b/lua/lvim/utils/git.lua index 81b1faf4..62915458 100644 --- a/lua/lvim/utils/git.lua +++ b/lua/lvim/utils/git.lua @@ -32,20 +32,20 @@ local function git_cmd(opts) Log:debug(stdout) end - return ret, stdout + return ret, stdout, stderr end local function safe_deep_fetch() - local ret, result = git_cmd { args = { "rev-parse", "--is-shallow-repository" } } + local ret, result, error = git_cmd { args = { "rev-parse", "--is-shallow-repository" } } if ret ~= 0 then - Log:error "Git fetch failed! Check the log for further information" + Log:error(vim.inspect(error)) return end -- git fetch --unshallow will cause an error on a a complete clone local fetch_mode = result[1] == "true" and "--unshallow" or "--all" ret = git_cmd { args = { "fetch", fetch_mode } } if ret ~= 0 then - Log:error "Git fetch failed! Check the log for further information" + Log:error("Git fetch failed! Please pull the changes manually in " .. get_lvim_base_dir()) return end return true @@ -55,12 +55,12 @@ end function M.update_base_lvim() Log:info "Checking for updates" - local ret = git_cmd { args = { "fetch" } } - if ret ~= 0 then - Log:error "Update failed! Check the log for further information" + if not safe_deep_fetch() then return end + local ret + ret = git_cmd { args = { "diff", "--quiet", "@{upstream}" } } if ret == 0 then Log:info "LunarVim is already up-to-date" @@ -69,7 +69,7 @@ function M.update_base_lvim() ret = git_cmd { args = { "merge", "--ff-only", "--progress" } } if ret ~= 0 then - Log:error "Update failed! Please pull the changes manually instead." + Log:error("Update failed! Please pull the changes manually in " .. get_lvim_base_dir()) return end |