On 2026/05/19 12:37, Jun Omae wrote:
> Also, win-tests.py with httpd raises 9 failures. I'm currently
> investigating the cause of the failures, but it is unknown yet.
>
> [[[
> FAIL: fs-fs-pack-test 5: get/set revprop while packing FSFS filesystem
> FAIL: fs-fs-pack-test 7: get/set huge packed revprops in FSFS
> FAIL: fs-fs-pack-test 6: get/set large packed revprops in FSFS
> FAIL: fs-fs-pack-test 12: set multiple huge revprops in packed FSFS
> FAIL: fs-fs-pack-test 22: pack with limited memory for metadata
> FAIL: svnadmin_tests.py 28: 'svnadmin hotcopy --incremental' with packing
> FAIL: svnadmin_tests.py 40: verify packed with small shards
> FAIL: svnadmin_tests.py 44: hotcopy progress reporting
> FAIL: svnfsfs_tests.py 2: load-index in a packed repo
> ]]]
>
The issue is that "revprops/0/0" file and "revprops/0" directory are
deleted by svnadmin pack in the MSVC build on Windows.
[[[
PS C:\usr\tmp>
C:\usr\src\subversion\subversion-1.15.0-rc2\out\dist\Release\bin\svnadmin pack
.\svnrepos
Packing revisions in shard 0...done.
Packing revisions in shard 1...done.
Packing revisions in shard 2...done.
PS C:\usr\tmp>
C:\usr\src\subversion\subversion-1.15.0-rc2\out\dist\Release\bin\svnadmin
verify .\svnrepos
* Verifying metadata at revision 0 ...
* Error verifying repository metadata.
svnadmin: E160006: No such packed revision 0
PS C:\usr\tmp> Get-ChildItem -Path .\svnrepos\db\revprops\ -Recurse | FT
-Property Mode,FullName
Mode FullName
---- --------
d---- C:\usr\tmp\svnrepos\db\revprops\0.pack
d---- C:\usr\tmp\svnrepos\db\revprops\1.pack
d---- C:\usr\tmp\svnrepos\db\revprops\2.pack
d---- C:\usr\tmp\svnrepos\db\revprops\3
-a--- C:\usr\tmp\svnrepos\db\revprops\0.pack\1.0
-a--- C:\usr\tmp\svnrepos\db\revprops\0.pack\manifest
-a--- C:\usr\tmp\svnrepos\db\revprops\1.pack\10.0
-a--- C:\usr\tmp\svnrepos\db\revprops\1.pack\manifest
-a--- C:\usr\tmp\svnrepos\db\revprops\2.pack\20.0
-a--- C:\usr\tmp\svnrepos\db\revprops\2.pack\manifest
-a--- C:\usr\tmp\svnrepos\db\revprops\3\30
-a--- C:\usr\tmp\svnrepos\db\revprops\3\31
]]]
It occurs only with MSVC toolset v143 (--vsnet-version=2022) and Whole
Program Optimization enabled. It doesn't with v142 (--vsnet-version=2019).
svn_fs_fs__delete_revprops_shard() is built by the optimization to
delete the "revprops/0" directory even if `shard` argument is 0.
Workaround is to disable the optimization.
[[[
--- subversion-1.15.0-rc2.orig/build/generator/templates/vcnet_vcxproj.ezt
2026-04-26 13:00:12.000000000 +0900
+++ subversion-1.15.0-rc2/build/generator/templates/vcnet_vcxproj.ezt
2026-05-21 15:14:46.696767100 +0900
@@ -33,7 +33,7 @@
<ConfigurationType>[config_type]</ConfigurationType>
<UseDebugLibraries>[is configs.name
"Debug"]true[else]false[end]</UseDebugLibraries>
<PlatformToolset>[toolset_version]</PlatformToolset>
-[is configs.name "Release"]
<WholeProgramOptimization>true</WholeProgramOptimization>
+[is configs.name "Release"]
<WholeProgramOptimization>false</WholeProgramOptimization>
[end] </PropertyGroup>
[end][end] <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
]]]
--
Jun Omae <[email protected]> (大前 潤)