Fix base_path() to handle filenames with colons

This bug was introduced when teaching gitgutter to handle file moves
in #872.

Fixes #877.
This commit is contained in:
Andy Stewart
2024-01-03 16:06:27 +00:00
parent 4b49965897
commit 84bc2d68c0
2 changed files with 16 additions and 1 deletions

View File

@@ -252,7 +252,8 @@ function! gitgutter#utility#base_path(bufnr)
" If we already know the original path at this diff base, return it.
let basepath = gitgutter#utility#getbufvar(a:bufnr, 'basepath', '')
if !empty(basepath)
let [base, bpath] = split(basepath, ':', 1)
let i = strridx(basepath, ':')
let [base, bpath] = [basepath[0:i-1], basepath[i+1:]]
if base == diffbase
return gitgutter#utility#shellescape(bpath)
endif