Detect valid Perforce configurations with “p4 info”

“p4 monitor info” isn't always available and can impose a heavy runtime
cost when it is if the server isn't responsive.

Closes mhinz/vim-signify#153

Signed-off-by: James McCoy <vega.james@gmail.com>
This commit is contained in:
James McCoy 2015-02-23 22:26:39 -05:00
parent ee918b9562
commit 06c51319c0

View File

@ -163,7 +163,7 @@ endfunction
" Function: #get_diff_perforce {{{1
function! sy#repo#get_diff_perforce() abort
let diffoptions = has_key(g:signify_diffoptions, 'perforce') ? g:signify_diffoptions.perforce : ''
let diff = system('p4 monitor show 2>&1 >' . sy#util#devnull() . ' && env P4DIFF=diff p4 diff -dU0 '. diffoptions .' '. sy#util#escape(b:sy.path))
let diff = system('p4 info 2>&1 >' . sy#util#devnull() . ' && env P4DIFF=diff p4 diff -dU0 '. diffoptions .' '. sy#util#escape(b:sy.path))
return v:shell_error ? [0, ''] : [1, diff]
endfunction