On 31.01.2015 14:42, Stefan Fuhrmann wrote: > On Tue, Jan 27, 2015 at 2:57 PM, Branko Čibej <br...@wandisco.com > <mailto:br...@wandisco.com>> wrote: > > On 27.01.2015 14:29, Ivan Zhakov wrote: > > On 27 January 2015 at 14:16, <stef...@apache.org > <mailto:stef...@apache.org>> wrote: > >> Author: stefan2 > >> Date: Tue Jan 27 11:16:35 2015 > >> New Revision: 1655008 > >> > >> URL: http://svn.apache.org/r1655008 > >> Log: > >> Make the test added in r1654933 somewhat more robust by using the > >> parser / serializer functions provided by FSFS. > >> > >> * subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c > >> (stringbuf_find): Just return a position, not a pointer. > >> (plain_0_length): Modify the revision content using FSFS > noderev I/O and > >> tweak the native structure instead of its > serialized > >> format. > >> > >> Suggested by: danielsh > >> > > I think it's will be better to use pre-cooked FSFS repository > created > > using documented reproduction script using older Subversion > instead of > > manipulating revision files directly. > > > That would possibly require a large-ish number of repositories. > While 1.8.x are the only *SVN* releases that are known to create > the problematic content, our spec allowed them since version 1.1. > The current test implementation is able to create the pattern for > any --compatible-server-version that supports FSFS. > > > It would be great if we could do that for all (most?) of the C tests, > similar to the way it works now in the Python tests. I know the C > tests > typically create specific repository layouts, but maybe we could > consolidate many of them to use the greek tree and maybe a couple > variants. > > > It is certainly possible to mirror the python logic in C. > What I have been thinking of in the past, was a mechanism to > create template repos on the fly via > > create_templated_repos(path, template_name, constructor_func) > > If a template with the given name exists, copy it. Otherwise, > use the constructor to create it. This would be somewhat > independent from support for pre-cooked repos.
The point of using pre-cooked repositories created by older versions of svnadmin is to avoid the assumption that the --compatible-server-version option really works as advertised. In other words, you have to test both with pre-cooked repos and with backwards-compat repos created by the tested svnadmin. -- Brane