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

Re: [PATCH] Hackathon project: Dumping viewspec

From: Julian Foad <julianfoad_at_apache.org>
Date: Sun, 18 Mar 2018 12:43:33 +0000

Branko Čibej wrote:
> On 16.03.2018 18:33, Julian Foad wrote:
>> I implemented an output format compatible with 'svn-viewspec.py' in
>> r1826990. Then I updated that output format to also support 'switched'
>> and revisions, in r1826993. This version outputs a header declaring
>> 'Format: 2', and svn-viewspec.py currently barfs on reading that.
>>
>> Suggested exercises for the reader (you, plural):
>>
>>   * implement a UI to choose the output format (currently 'svn info
>> --viewspec' is hard-coded to produce that 'format 2')
>
> Why?

To experiment with the two existing implementations of "recreate WC from
a viewspec" -- which are direct command-line cmds and svn-viewspec.py.

> 'svn-viewspec.py' is not a supported tool; 'svn info --viewspec'
> does not exist in 1.10. We don't have any compatibility guarantees to
> worry about.

Yes.

>>   * update 'svn-viewspec.py' to implement those 'format 2' extensions
>>
>>   * start implementing the API functions that 'svn-viewspec.py' needs
>
> Again, why? 'svn-viewspec.py' uses the standard command-line tools. It
> follows that all API functions it needs already exist.

An efficient implementation is not yet possible. New APIs are needed.
The existing implementation checks out the root, then modifies each
subdirectory in depth-first order. If the root is depth-infinity, then
it first checks out everything, then proceeds to delete the unwanted
bits (and the same applies at any level where depth is reduced).

We need to design and implement the APIs that we will need to make an
efficient implementation.

Working with bindings to APIs seems like a good way to do that.

- Julian
Received on 2018-03-18 13:43:38 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.