On Sun, Nov 26, 2017 at 11:50 PM, Stefan <luke1...@posteo.de> wrote: > On 25/11/2017 16:12, Stefan Sperling wrote: >> On Fri, Nov 24, 2017 at 02:42:05PM +0100, Bert Huijben wrote: >>> Hi, >>> >>> 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. >>> >>> Testing this on a test working copy with >>> [[ >>> $ 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. 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) Maybe the viewspec could also be read from standard input (by using '-'): svn info -R --viewspec WC1 | svn update WC2 --viewspec - ? A separate 'viewspec' subcommand might also be interesting, but I'm not sure what we'll be using it for exactly (only for exporting viewspecs from WCs?). I think we need to think about two different things: (1) Export / describe the viewspec of a specific working copy. (2) Apply a viewspec to a working copy (or when creating a working copy) IMHO, the "applying" needs to be part of several commands that create / modify working copies (checkout, update, switch, perhaps export). -- Johan