Johan Corveleyn wrote:
On Sun, Nov 26, 2017, Stefan <luke1...@posteo.de> 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 http://svn.apache.org/r1826864

Let's see where it leads.

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?);

- Julian

Reply via email to