On Tue, Jan 27, 2015 at 2:57 PM, Branko Čibej <brane_at_wandisco.com> wrote:
> On 27.01.2015 14:29, Ivan Zhakov wrote:
> > On 27 January 2015 at 14:16, <stefan2_at_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.
-- Stefan
Received on 2015-01-31 14:42:39 CET