feat(git): notify when not in a git repo instead of error (#2181)
Fix #2180
This commit is contained in:
@@ -392,7 +392,11 @@ local set_opts_cwd = function(opts)
|
|||||||
local in_bare = utils.get_os_command_output({ "git", "rev-parse", "--is-bare-repository" }, opts.cwd)
|
local in_bare = utils.get_os_command_output({ "git", "rev-parse", "--is-bare-repository" }, opts.cwd)
|
||||||
|
|
||||||
if in_worktree[1] ~= "true" and in_bare[1] ~= "true" then
|
if in_worktree[1] ~= "true" and in_bare[1] ~= "true" then
|
||||||
error(opts.cwd .. " is not a git directory")
|
utils.notify("builtin.git", {
|
||||||
|
msg = opts.cwd .. " is not a git directory",
|
||||||
|
level = "ERROR",
|
||||||
|
})
|
||||||
|
return false
|
||||||
elseif in_worktree[1] ~= "true" and in_bare[1] == "true" then
|
elseif in_worktree[1] ~= "true" and in_bare[1] == "true" then
|
||||||
opts.is_bare = true
|
opts.is_bare = true
|
||||||
end
|
end
|
||||||
@@ -401,6 +405,8 @@ local set_opts_cwd = function(opts)
|
|||||||
opts.cwd = git_root[1]
|
opts.cwd = git_root[1]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
local function apply_checks(mod)
|
local function apply_checks(mod)
|
||||||
@@ -408,8 +414,10 @@ local function apply_checks(mod)
|
|||||||
mod[k] = function(opts)
|
mod[k] = function(opts)
|
||||||
opts = vim.F.if_nil(opts, {})
|
opts = vim.F.if_nil(opts, {})
|
||||||
|
|
||||||
set_opts_cwd(opts)
|
local ok = set_opts_cwd(opts)
|
||||||
v(opts)
|
if ok then
|
||||||
|
v(opts)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user