make the plugin actually work!

1. added branch checking
2. made updating work correctly
This commit is contained in:
2023-07-16 20:36:43 -04:00
parent a19f79b53a
commit be22f54635

View File

@ -114,6 +114,17 @@ local function startinstall()
plugins[i]['dir'] = '~~/'
end
-- get the plugins tmp download dir
local plugdir = opts.dl.dir .. '/' ..
string.match(plugins[i][1], '/([^/]+)$'):gsub('.git', '')
-- if no specified branch we use the default
if not plugins[i]['branch'] then
plugins[i]['branch'] = testforslash(
run('git -C ' .. plugdir .. ' symbolic-ref refs/remotes/origin/HEAD')
)
end
-- get the file's dir
local pluginfile = opts.dl.dir .. '/' ..
string.match(plugins[i][1], '/([^/]+)$'):gsub('.git', '') ..
@ -122,18 +133,20 @@ local function startinstall()
-- get the dest dir
local destfile = mp.command_native({'expand-path', '~~/'}) ..
'/' .. plugins[i]['dir'] ..
'/' .. plugins[i]['file']
'/' .. testforslash(plugins[i]['file'])
if fileexists(pluginfile) then
if fileexists(plugdir .. '/') then
-- if we need to update, update
if checkupdates(i) then
if checkupdates(plugdir) then
logwrite(plugins[i]['file'] .. ' is updating.')
clonegit(i)
-- make sure we are on the main branch
run('git -C ' .. plugdir .. ' checkout -q ' .. plugins[i]['branch'])
run('git -C ' .. plugdir .. ' pull') -- get the latest commits
else
logwrite(plugins[i]['file'] .. ' is up to date!')
end
else
clonegit(i)
clonegit(plugdir, i)
end
-- copy the file contents over to the desired location