mirror of
https://github.com/tpope/vim-fugitive.git
synced 2025-11-11 04:53:45 -05:00
Edit index file when no work tree present
Life gets simpler if this function never fails.
This commit is contained in:
@@ -329,14 +329,12 @@ function! s:repo_bare() dict abort
|
|||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:repo_translate(spec, ...) dict abort
|
function! s:repo_translate(object, ...) dict abort
|
||||||
let rev = substitute(a:spec, '//\+', '/', 'g')
|
let rev = substitute(a:object, '[:/]\zs\.\%(/\+\|$\)', '', 'g')
|
||||||
let rev = substitute(rev, '[:/]\zs\.\%(/\|$\)', '', 'g')
|
|
||||||
let dir = self.git_dir
|
let dir = self.git_dir
|
||||||
let tree = s:Tree(dir)
|
let tree = s:Tree(dir)
|
||||||
if rev ==# '.'
|
let base = len(tree) ? tree : 'fugitive://' . dir . '//0'
|
||||||
let f = empty(tree) ? dir : tree
|
if rev =~# '^/\=\.git$' && empty(tree)
|
||||||
elseif rev =~# '^/\=\.git$' && empty(tree)
|
|
||||||
let f = dir
|
let f = dir
|
||||||
elseif rev =~# '^/\=\.git/'
|
elseif rev =~# '^/\=\.git/'
|
||||||
let f = s:sub(rev, '^/=\.git', '')
|
let f = s:sub(rev, '^/=\.git', '')
|
||||||
@@ -346,10 +344,10 @@ function! s:repo_translate(spec, ...) dict abort
|
|||||||
else
|
else
|
||||||
let f = dir . f
|
let f = dir . f
|
||||||
endif
|
endif
|
||||||
elseif empty(rev) || rev ==# '/.'
|
elseif rev ==# '^/\=\.$'
|
||||||
return self.tree()
|
return base
|
||||||
elseif rev =~# '^\.\=/'
|
elseif rev =~# '^\.\=\%(/\|$\)'
|
||||||
let f = self.tree(substitute(rev, '^\.\=/', '', ''))
|
let f = base . substitute(rev, '^\.', '', '')
|
||||||
elseif rev =~# '^:[0-3]:/\@!'
|
elseif rev =~# '^:[0-3]:/\@!'
|
||||||
let f = 'fugitive://' . dir . '//' . rev[1] . '/' . rev[3:-1]
|
let f = 'fugitive://' . dir . '//' . rev[1] . '/' . rev[3:-1]
|
||||||
elseif rev ==# ':'
|
elseif rev ==# ':'
|
||||||
@@ -377,7 +375,7 @@ function! s:repo_translate(spec, ...) dict abort
|
|||||||
if len(commit)
|
if len(commit)
|
||||||
let f = 'fugitive://' . dir . '//' . commit . file
|
let f = 'fugitive://' . dir . '//' . commit . file
|
||||||
else
|
else
|
||||||
let f = self.tree(rev)
|
let f = base . '/' . rev
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|||||||
Reference in New Issue
Block a user