Override 'shellslash' for external Windows command

With 'shellslash' set, tempname() returns a filename with forward
slashes, which trips up the type command if we don't translate to
backslashes first.

Fixes half of #212.
This commit is contained in:
Tim Pope 2012-06-07 22:05:06 -04:00
parent 1eb4a9f7e3
commit 49c6be334c

View File

@ -2057,7 +2057,7 @@ function! s:BufWriteIndexFile()
let info = old_mode.' '.sha1.' '.stage."\t".path let info = old_mode.' '.sha1.' '.stage."\t".path
call writefile([info],tmp) call writefile([info],tmp)
if has('win32') if has('win32')
let error = system('type '.tmp.'|'.s:repo().git_command('update-index','--index-info')) let error = system('type '.s:gsub(tmp,'/','\\').'|'.s:repo().git_command('update-index','--index-info'))
else else
let error = system(s:repo().git_command('update-index','--index-info').' < '.tmp) let error = system(s:repo().git_command('update-index','--index-info').' < '.tmp)
endif endif