Stefan Sperling wrote:
> On Fri, Feb 28, 2020 at 10:30:12PM +0000, Julian Foad wrote:
>> 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?
>
> I agree with this plan and would be in favour of a merge to trunk, especially
> because we have seen requests from users asking for shelving v2 to be restored.
>
> Of course it would be nice to see v3 being finished but that would obviously
> involve more time and effort than you're able to spare right now. Thank you
> for volunteering the time to find and implement an interim solution!
> I hope we will eventually see this feature developed to its full potential.
I should be able to merge that now. (I have half an hour free now.) I'm
on our #svn-dev IRC/Matrix channel if you have any input or comments
about it.
I wrote up a short review of the shelving implementations the other day:
https://blog.foad.me.uk/2020/03/02/svn-shelving-development-review/
- Julian
Received on 2020-03-10 13:03:27 CET