What steps will reproduce the problem?
1. Use gvimdiff -R as the diff tool for Perforce
2. Attempt to diff 8 files at once
What is the expected output? What do you see instead?
I expect to see 8 copies of gvimdiff open showing the diffs of those files
Instead, I get 8 copies of gvimdiff open, usually with one or two complaining:
E810: Cannot read or twite temp files
E97: Cannot create diffs.
What version of the product are you using? On what operating system?
This is VIM 7.4.552 MS-Windows 64-bit GUI version with OLE support compiled by
veegee@veegee-win8, running on Windows 7 Professional x64
Please provide any additional information below.
I've used echom in my diffexpr, and the issue appears to be that two different
vim processes have picked the same value for v:fname_out.
For example, a successful process shows:
!C:\\program~1\\GnuWin32\\bin\\diff.exe -a
C:\Users\paulh\AppData\Local\Temp\VIoD3A5.tmp
C:\Users\paulh\AppData\Local\Temp\VInD3A6.tmp
C:\Users\paulh\AppData\Local\Temp\VIdD3B5.tmp
and the failed attempt from the same batch shows
!C:\\program~1\\GnuWin32\\bin\\diff.exe -a
C:\Users\paulh\AppData\Local\Temp\VIoD3B3.tmp
C:\Users\paulh\AppData\Local\Temp\VInD3B4.tmp
C:\Users\paulh\AppData\Local\Temp\VIdD3B5.tmp
So it looks like the filename is merely VI[ond]time.tmp but due to minor
startup time differences, the output file name for two processes was generated
at the same time, leading to the same output file.
Using :diffupdate in the failed gvimdiff instance will successfully generate
the diff
Original issue reported on code.google.com by
p_hamp...@wargaming.neton 31 Mar 2015 at 5:04