[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: future of our "experimental" features

From: Julian Foad <julianfoad_at_apache.org>
Date: Fri, 28 Feb 2020 22:30:12 +0000

Nathan Hartman wrote:
> Julian Foad wrote:
>> I did already make the experimental features hidden by default in "svn
>> help"; and revealed with "-v" option.
>> We don't necessarily need more than that.
>> If we do want to go further in hiding them, I suggest the next step is:
>> * create a ~/subversion/config setting to opt-in to enabling
>> experimental features;
>> * disable the experimental commands/options (shelving, viewspec,
>> wc-copy-mods) unless that flag is enabled.
>> However, I can't think of any specific reason why that's really
>> important. Can anyone?

For 'shelving' there are substantially different pros and cons between
v3 (best capture of changes, but really slow to create a shelf) and
previous versions. Therefore it would be nice to give the user the
option to choose a different version.

To accommodate this, I have implemented on the branch
'decouple-shelving-cli' the ability to choose shelving v3 (default) or
v2 (by setting SVN_EXPERIMENTAL_COMMANDS=shelf2). I pulled the
shelving-v2 code in from 1.11.x and added it to libsvn_client, renaming
APIs so the v2 ones differ from the v3 ones.

I have no intention to implement dynamic loading of this part of the
libsvn_client API. (In principle, that would be a nice direction to go,
to make truly pluggable features.)

In a default test run, the shelving v3 tests pass and the shelving v2
tests are skipped. With SVN_EXPERIMENTAL_COMMANDS=shelf2, the v2 tests
are run (and they pass); (I haven't added corresponding skips to the v3
tests for this case).

I think this is good to merge to trunk. What do you all think?

- Julian
Received on 2020-02-28 23:30:14 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.