Hi,
I've noticed that 'svn --version -v' displays wrong information about
OS version on Windows 10 and later.
For example:
$ svn --version -v
System information:
* running on x86/x86_64-microsoft-windows6.2.9200
- Windows 10 Enterprise 2015 LTSB, build 10240 [6.3 Client
Multiprocessor Free]
* linked dependencies:
- APR 1.5.1 (compiled with 1.5.2)
- APR-Util 1.5.3 (compiled with 1.5.4)
- Expat 2.2.0 (compiled with 2.2.0)
- SQLite 3.11.1 (static)
- Utf8proc 1.1.5 (compiled with 1.1.5)
- ZLib 1.2.8 (compiled with 1.2.8)
* loaded shared libraries:
- C:\Ivan\SVN\trunk\Debug\subversion\svn\svn.exe (1.10)
- C:\WINDOWS\SYSTEM32\ntdll.dll (6.2.10240.17184)
- C:\WINDOWS\SYSTEM32\KERNEL32.DLL (6.2.10240.17113)
- C:\WINDOWS\SYSTEM32\KERNELBASE.dll (6.2.10240.17184)
[..]
Notice that version is '6.2' while it should be 10.0. Version for OS
modules are also wrong. This happens because svn.exe is not manifested
properly and Windows enables 'version lie shims' in this case [1].
Attached patch fixes this problem. With patched version I get correct result:
$ svn --version -v
System information:
* running on x86/x86_64-microsoft-windows10.0.10240
- Windows 10 Enterprise 2015 LTSB, build 10240 [6.3 Client
Multiprocessor Free]
* linked dependencies:
- APR 1.5.1 (compiled with 1.5.2)
- APR-Util 1.5.3 (compiled with 1.5.4)
- Expat 2.2.0 (compiled with 2.2.0)
- SQLite 3.11.1 (static)
- Utf8proc 1.1.5 (compiled with 1.1.5)
- ZLib 1.2.8 (compiled with 1.2.8)
* loaded shared libraries:
- C:\Ivan\SVN\trunk\Debug\subversion\svn\svn.exe (1.10)
- C:\WINDOWS\SYSTEM32\ntdll.dll (10.0.10240.17184)
- C:\WINDOWS\SYSTEM32\KERNEL32.DLL (10.0.10240.17113)
- C:\WINDOWS\SYSTEM32\KERNELBASE.dll (10.0.10240.17184)
[...]
[1] https://msdn.microsoft.com/en-us/library/windows/desktop/dn481241(v=vs.85).aspx
--
Ivan Zhakov
Received on 2016-12-20 10:05:27 CET