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

Reply via email to