subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Johan Corveleyn <>
Subject Re: [PATCH] Hackathon project: Dumping viewspec
Date Fri, 16 Mar 2018 12:08:14 GMT
On Thu, Mar 15, 2018 at 11:19 PM, Julian Foad <> wrote:
> Johan Corveleyn wrote:
>> On Sun, Nov 26, 2017, Stefan <> wrote:
>>> On 25/11/2017, Stefan Sperling wrote:
>>>> On Fri, Nov 24, 2017, Bert Huijben wrote:
>>>>> At the Aachen hackathon I promised to write some code to spit out the
>>>>> sparse
>>>>> definition of a working copy, or in other words some initial dumb
>>>>> viewspec
>>>>> output.
>>>>> $ svn switch --list \SharpSvn\trunk
>>>> Has a new 'svn viewspec' been subcommand considered?
>>>> 'switch --list' reminds me of our 'switch --relocate' mistake
>>>> from the past ;)
>>> Indeed it was. FWIW I agree there are good arguments for a new viewspec
>>> subcommand.
>>> The alternative would be to use "svn list --generate-viewspec" and "svn
>>> switch/checkout --use-viewspec < viewspecfile" or something like this.
>>> The obvious downside would be that one subcommand would be used to
>>> generate the viewspec while another one would be used to apply it. I
>>> think Bert brought up other arguments against adding it to "svn list".
>> I prefer adding the "export the viewspec info from this WC" to "svn
>> info", because that's what we already use to obtain info from a
>> working copy (including depth and working revision). Perhaps "svn info
>> -R --viewspec". Let's say this would generate some structured
>> information in a well defined syntax.
> I have committed Bert's patch, with the command modified to be "svn info
> --viewspec", in
> Let's see where it leads.

Awesome! Thanks Julian (and Bert of course).

> First I'd like to 'clean up' the formatting a bit to make it easier to read,
> and add some tests.
>> The exported info can then be used as optional input for several commands:
>>      svn checkout $URL --apply-viewspec vspecfile.txt
>>      svn update . --apply-viewspec vspecfile.txt
>>      svn switch . --apply-viewspec vspecfile.txt   (perhaps the
>> viewspec contains switched subtrees, which necessitates the 'switch'
>> command to execute)
> We need to look at using the viewspec as input next. Semantically speaking,
> these sorts of things:
> * a way to check out a new WC to match the spec;
> * a way to modify an existing WC to match the spec;
> * a way to modify/checkout a WC of a *different* branch, to match the spec
> except for its URLs (maybe switch URLs pointing inside this 'branch' or WC
> get adjusted as if they are relative, and other switch URLs stay absolute?);


FWIW, the viewspec format of [1] (which can serve as
inspiration I guess) requires the viewspec to have a "Url", and then a
series of path rules. The Url serves as a base url, the path rules are
relative to that base url.

So here too, I suppose a viewspec can contain a "base url", but the
user should be able to override that base url when applying the
viewspec (with checkout, update, switch, export, ...).



View raw message